我想在兩個column_A
和column_B
以下兩個選擇查詢結果A和B.我試圖遵循邏輯,但它不能在SQL Server 2008 R2中工作SQL Server SELECT嵌套
select Column_A, Column_B
From (
SQL query for A
,
SQL query for B
)
有人可以請驗證我的邏輯是錯誤的還是正確的?
我想在兩個column_A
和column_B
以下兩個選擇查詢結果A和B.我試圖遵循邏輯,但它不能在SQL Server 2008 R2中工作SQL Server SELECT嵌套
select Column_A, Column_B
From (
SQL query for A
,
SQL query for B
)
有人可以請驗證我的邏輯是錯誤的還是正確的?
可以通過嵌套選擇這樣
SELECT A.Column, B.Column
FROM
(SELECT Column FROM table1 ...) A
INNER JOIN
(SELECT Column FROM table2 ...) B
ON A.id = B.id
此查詢結合了另一個的行一個數據源(表或查詢子)的行。如果您從多個數據源進行查詢,您通常必須以某種方式加入它們。如果你不這樣做,你會得到一個笛卡爾產品,它將每一行的每一行與另一行的每行相結合。
如果你只是想要一個標量結果做到這一點:
SELECT
(<sub-query for value A>) Column_A,
(<sub-query for value B>) Column_B
;
對於標量結果集,你需要確保,他們總是隻返回一個值,否則查詢將在運行時失敗。
如果你真的想使用子查詢你需要他們的名字:
SELECT Column_A, Column_B
FROM (<sub-query A>) AS A,
(<sub-query B>) AS B
...你會想無論是JOIN
條件或WHERE
條款正確連接表在一起。
史詩般的勝利....你讓我的一天!十分感謝。你第一次邏輯工作! – Satish 2012-02-06 18:14:21
歡迎使用StackOverflow:如果您發佈代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕(「{}」)格式和語法突出顯示它! – 2012-02-06 17:23:54
查詢A和查詢B返回單個值還是一組值? – Akhil 2012-02-06 17:24:15
有不同的方法來組合查詢。請說明你想要達到的目標。你可以給出這些表包含的例子以及你期望的結果。 – 2012-02-06 17:35:25