Кажется чрезвычайно простым c, но я не могу найти элегантное решение для этого. У меня есть две таблицы SQL, одна из которых содержит пользователей, а другая - города. Третья таблица содержит совпадения между двумя предыдущими таблицами (с двумя внешними ключами, указывающими на PK каждой таблицы).
Я хочу добавить элемент в эту третью таблицу, чтобы сказать, что пользователь Джефф живет в Бостон, Массачусетс.
Прямо сейчас, это то, что я делаю:
INSERT INTO users_countries
SELECT user_id, city_id FROM
(
SELECT TOP 1 user_id
FROM users
WHERE name = 'Jeff' AND ...
) a JOIN
(
SELECT TOP 1 city_id
FROM cities
WHERE name = 'Boston' AND ...
) b ON 1 = 1;
Хотя это делает работу, это вовсе не выглядит элегантно.
Что будет лучший способ написать этот запрос?