Несколько операторов SELECT из разных таблиц - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть две независимые таблицы: «Клиенты» и «Страна».

Таблица стран:

IdCountry   Country
1   SPAIN
2   PORTUGAL

Таблица клиентов

IdClient    Entity   IdCountry
1   Adam Alves       2
2   Peter Smith      2
3   David Ramos      1
4   Rafael Castro    1

Я хотел бы добавить нового клиента в таблицу «Клиенты», но используя информацию из таблицы «Страна», например:

INSERT INTO Clients(IdClient, Entity, Country)
SELECT max(IdClient) + 1, '--New--' FROM Clients,
SELECT IdCountry FROM Country WHERE Country = 'SPAIN'

Я хотел бы получить этот ВХОД:

IdClient   Entity    IdCountry
    5      --New--   1

Но если я выполню этот запрос, он не будет работать. Кто-нибудь может мне помочь, пожалуйста?

КОММЕНТАРИИ: Я предпочитаю не использовать опцию автоинкремента.

Большое спасибо.

Wardiam

1 Ответ

0 голосов
/ 05 апреля 2020

Вы можете сделать это так:

INSERT INTO Clients(IdClient, Entity, Country)
SELECT 
  (SELECT MAX(IdClient) + 1 FROM Clients), 
  '--New--',
  (SELECT IdCountry FROM Country WHERE Country = 'SPAIN')

См. Демоверсию . Результаты:

| IdClient | Entity        | Country |
| -------- | ------------- | ------- |
| 1        | Adam Alves    | 2       |
| 2        | Peter Smith   | 2       |
| 3        | David Ramos   | 1       |
| 4        | Rafael Castro | 1       |
| 5        | --New--       | 1       |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...