[英]SQL return inner join in a single row
我有兩個表:
Table1:
ID | Column 1 | Column 2
1 | Value 1 | Value 2
Table 2:
ID | Column 3 | Column 4
1 | Value 4 | Value 5
1 | Value 6 | Value 7
目前,我的查詢是:
SELECT * FROM Table1 INNER JOIN Table2 ON Table1.id = Table2.id ;
收益:
id | Column 1 | Column 2 | id | Column 3 | Column 4
1 | Row 1 | Row 1 | 1 | Row 1 | Row 1
1 | Row 1 | Row 1 | 1 | Row 2 | Row 2
1 | Row 1 | Row 1 | 1 | Row 3 | Row 3
我想使用SQL內部聯接或任何其他聯接從Table1返回單行,並從Table2返回所有其他相關行
id | Column 1 | Column 2 | id | Column 3 | Column 4
1 | Row 1 | Row 1 | 1 | Row 1 | Row 1
1 | Row 2 | Row 2
1 | Row 3 | Row 3
那可能嗎?
這個評論太長了。
您可以在SQL中執行所需的操作,但是我不鼓勵您嘗試這樣做。 首先,它比其他方言在MySQL中更麻煩(因為缺少窗口功能)。
更重要的是,它違反了關系數據庫中的關鍵思想之一:表和結果集代表無序集。 行的順序應該無關緊要。 在結果集中,第一行與其余各行之間存在很大差異。 許多行的含義取決於之前的內容。 並且,無序集合中沒有“之前”。
盡管要在SQL中獲得這些結果是一個艱巨的挑戰,但最好在應用程序層中進行這種格式設置。 應用程序編程環境更適合於調整結果以進行演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.