簡體   English   中英

SQL在單行中返回內部聯接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM