我有两个SQL查询,一个在获得结果后使用另一个。
SELECT users.data from users WHERE users.data2 = value
SELECT mods.data FROM mods WHERE mods.data2 = (result of previous query)
我如何组合这些陈述?有类似的问题,但我是SQL的新手,并不理解它们。
答案 0 :(得分:4)
加入它们的最简单方法是使用IN
运算符:
SELECT mods.data FROM mods WHERE mods.data2 IN
(SELECT users.data from users WHERE users.data2 = value)
但还有很多其他人......
例如,你可以加入他们:
SELECT mods.data
FROM mods
JOIN users ON mods.data2 = users.data
WHERE users.data2 = value
这些可能会产生不同的输出,具体取决于数据的结构。
答案 1 :(得分:2)
SELECT m.data
FROM mods m
INNER JOIN users u ON m.data2 = u.data
WHERE u.data2 = value
答案 2 :(得分:0)
根据您的确切RDBMS,您可以使用最新MS SQL版本中提供的Common Table Expressions(CTE)。