SQL:获取查询结果并使用另一个 - 结合

时间:2012-08-09 16:45:50

标签: sql database

我有两个SQL查询,一个在获得结果后使用另一个。

SELECT users.data from users WHERE users.data2 = value

SELECT mods.data FROM mods WHERE mods.data2 = (result of previous query)

我如何组合这些陈述?有类似的问题,但我是SQL的新手,并不理解它们。

3 个答案:

答案 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)。