2014-09-04 38 views
1

我需要一次執行2個查詢並在一個組合輸出中生成結果。無論是查詢只返回1行組合2個不相關查詢的輸出

查詢1:

SELECT city, state FROM "Table1" WHERE Id = '123' 

查詢2:

select count(*) as colCount from "Table2" where name = "xyz" 

輸出格式:city, state, colCount

+0

你想兩行,結果還是一個? – 2014-09-04 10:18:30

+0

每次只有一列用於第二個查詢? – 2014-09-04 10:19:16

+0

@TimSchmelter,結果只有一行 – 2014-09-04 10:27:47

回答

0

使用子查詢:

SELECT city, state, 
     colCount = (SELECT count(*) 
        FROM Table2 
        WHERE name = "xyz") 
FROM Table1 
WHERE Id = '123' 

子渠ery不能返回多於一行。但如上所述,情況並非如此。你可以使用TOP 1來確保它,但如果它是例外,我寧願有一個例外。

0

以下查詢會爲你工作:

SELECT city, state, 
     colCount = (SELECT count(*) 
        FROM Table2 
        WHERE name = "xyz") as colCount 
FROM Table1 
WHERE Id = '123'