【发布时间】:2020-02-28 11:12:38
【问题描述】:
似乎非常基本,但我找不到优雅的解决方案。我有两张 SQL 表,一张包含用户,另一张包含城市。第三个表包含前两个表之间的匹配项(两个外键指向每个表的 PK。)
我想在第三个表中添加一个项目,告诉用户 Jeff 住在马萨诸塞州波士顿。
现在,我就是这样做的:
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;
虽然可以完成这项工作,但它看起来一点也不优雅。
编写此查询的更好方法是什么?
【问题讨论】:
标签: sql sql-server tsql join sql-insert