将2个简单查询合并到一个查询中

时间:2015-08-03 08:19:22

标签: sql sql-server-2008

我有一个简单的senario,我在其中执行2个查询 首先从表中获取ID

然后使用此ID访问第二个表中的信息。

SELECT ID
FROM TEST_1
WHERE name = 'Example 1'

Select *
FROM TEST_2
WHERE Parent_ID = %ID retrived from the above query%

3 个答案:

答案 0 :(得分:1)

使用IN(如果子查询返回的ID超过1)或=(如果子查询只返回1个ID):

Select *
FROM TEST_2
WHERE Parent_ID = (SELECT ID FROM TEST_1 WHERE name = 'Example 1')

答案 1 :(得分:1)

你可以这样:只需将第一个查询放在where子句

Select *
FROM TEST_2
WHERE Parent_ID = (SELECT ID
FROM TEST_1
WHERE name = 'Example 1')

答案 2 :(得分:1)

我认为这就是你所需要的:

SELECT TEST_2.*
    FROM TEST_1
    INNER JOIN TEST_2 ON TEST_2.Parent_ID = TEST_1.ID
    WHERE TEST_1.name = 'Example 1'