我有幾個不同的表,但他們都有2列是相同的名稱。我想編寫一個存儲過程,在所有表中搜索一列並返回結果。想法?談到SQL時,我非常喜歡。查詢多個表並將結果合併到一個存儲過程的返回表中?
0
A
回答
7
您正在尋找的操作是UNION
或UNION ALL
。
SELECT * FROM (
SELECT col1, col2 FROM table1
UNION ALL
SELECT col1, col2 FROM table2
UNION ALL
SELECT col1, col2 FROM table3
) all_tables
WHERE all_tables.col1 = 'something'
如果使用UNION
而非UNION ALL
,該數據庫將消除重複行可能在多個表中。如果您知道不會有任何重複項,請使用UNION ALL
,因爲它通常快得多。
1
Select myColumn FROM Table1
UNION Select myColumn FROM Table2
UNION Select myColumn FROM Table3
...等
- 請注意所有列名必須是相同的,必須在每個表這個工作
1
你甚至不會需要一個存儲過程。 ..只是使用聯合查詢。
select field1, field2 from table1 where table1.field1=criteria
union
select field1, field2 from table2 where table2.field1=criteria
union
select field1, field2 from table3 where table3.field1=criteria
etc...
相關問題
- 1. PSQL:結合/將多個查詢結果合併到一個表中
- 2. 將三個查詢結果合併到一個表中
- 3. 結合多個查詢並返回
- 4. powershell將WMI查詢結果合併到一個表中
- 5. 將不同過程的結果合併到一個表中
- 6. Oracle查詢/存儲過程返回多個結果集
- 7. 結合兩個查詢並在一個表中顯示結果?
- 8. 將多個結果合併到一個列表中
- 9. 如何將多個選擇結果合併到一個表中?
- 10. 調用一個存儲過程,在另一個存儲過程中返回多個表結果
- 11. 將查詢結果合併爲一個
- 12. 通過合併列將3個臨時表合併到1個結果表中
- 13. 將一個sql查詢的結果合併爲一個結果
- 14. 將多個查詢的結果合併爲單個查詢
- 15. 從存儲過程插入temp表,返回多個結果集
- 16. 通過多個表,並存儲過程
- 17. 存儲過程將結果返回到另一個存儲過程中的臨時表中
- 18. SSRS - 在一個存儲過程中返回多個查詢
- 19. 將兩個查詢的結果合併爲一個結果SQL
- 20. 與JOIN表和合並結果到1行mysql多個查詢
- 21. 將多個查詢的結果作爲SQL Server存儲過程中的一個結果結合起來
- 22. MySQL - 拿兩個表並返回一個不存在的結果
- 23. 將2個表格合併爲單個查詢結果
- 24. 合併多個結果表並對結果執行最終查詢
- 25. 調用兩個存儲過程並將結果合併到一個控制器內的單個模型中
- 26. 存儲過程返回不同於結果的查詢結果
- 27. 將多個查詢結果合併到一個表中,結果順序如何確定?
- 28. 如何將兩個MS SQL Server表合併到一個存儲過程中
- 29. 在一個結果中合併3個查詢的結果
- 30. 如何一個Mysql的(子)查詢,返回多行,並使用另一個查詢的結果結合起來
但是您的查詢可以放在存儲過程中。您不應該將查詢與sproc進行比較,查詢會進入可添加安全層的sprocs中。所以他/她可能想把這個放到一個sproc中。 – JonH 2010-06-15 18:33:33