Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:获取查询结果并将其另一次使用-组合_Sql_Database - Fatal编程技术网

SQL:获取查询结果并将其另一次使用-组合

SQL:获取查询结果并将其另一次使用-组合,sql,database,Sql,Database,我有两个SQL查询,一个在得到结果后使用另一个 从users.data2=value的用户中选择users.data 从mods中选择mods.data,其中mods.data2=(上一次查询的结果) 我将如何组合这些语句?类似的问题也有,但我对SQL还不熟悉,不了解它们。连接它们的最简单方法是使用IN操作符: SELECT mods.data FROM mods WHERE mods.data2 IN (SELECT users.data from users WHERE users

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

从users.data2=value的用户中选择users.data

从mods中选择mods.data,其中mods.data2=(上一次查询的结果)


我将如何组合这些语句?类似的问题也有,但我对SQL还不熟悉,不了解它们。

连接它们的最简单方法是使用
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

这些可能会产生不同的输出,但这取决于数据的结构。

连接它们的最简单方法是使用
IN
运算符:

SELECT mods.data FROM mods WHERE mods.data2 IN 
    (SELECT users.data from users WHERE users.data2 = value)
SELECT m.data 
FROM mods m
INNER JOIN users u ON m.data2 = u.data
WHERE u.data2 = value
但是还有很多其他的

例如,您可以加入他们:

SELECT mods.data 
FROM mods 
JOIN users ON mods.data2 = users.data
WHERE users.data2 = value

这些可能会产生不同的输出,但这取决于您的数据结构。

根据您的确切RDBMS,您可以使用(CTE),在较新的MS SQL版本中可用。

根据您的确切RDBMS,您可以使用(CTE),在较新的MS SQL版本中可用。

阅读全文,使用IN似乎又被建议了。这取决于你想得到什么。到处阅读,使用IN似乎又被建议了。这取决于你想得到什么。打字错误:应该是…在m.data2=u.data2@Vikram:我不这么认为。除非我误解了这个问题-第一个OP的查询结果是
users.data
SELECT users.data…
),而不是users.data2typo:应该是…ON m.data2=u.data2@Vikram:我不这么认为。除非我误解了这个问题-第一个OP的查询结果是
users.data
SELECT users.data…
),而不是users.data2
SELECT m.data 
FROM mods m
INNER JOIN users u ON m.data2 = u.data
WHERE u.data2 = value