簡體   English   中英

mysql-通過columnB中的值顯示columnA中的值

[英]mysql - displaying values from columnA by values in columnB

我試圖在MySql中創建一個查詢,該查詢連接兩個表並顯示兩個表中的值。

表A:

id | value
----------
 1 |   123
 2 |   456
 3 |   789

表B:

id | key | value | type
-----------------------
 1 |   1 |    10 |  'A'
 2 |   1 |    11 |  'B'
 3 |   2 |    12 |  'A'
 4 |   2 |    13 |  'B'
 5 |   2 |    14 |  'C'
 6 |   3 |    15 |  'A'
 7 |   3 |    16 |  'B'

這些表在TableA.id = TableB.keyTableA.id = TableB.key 我想顯示TableA.idTableB.value但是我只關心C類型的TableB中的值。 如果沒有類型'C'的條目,那么我想顯示null (無關緊要的是什么,可以實際上為null或只是一個表示'null'的字符串)。 對於上面的示例,我希望結果是:

ID | Value
----------
1  |  null
2  |    14
3  |  null

到目前為止,我還無法提出任何建議-我嘗試過的所有操作都無法獲取任何數據或顯示太多內容。 從概念上講,我最接近的是:

select TA.id as 'ID', TB.value as 'Value'
from TableA TA
left join TableB TB on TA.id = TB.key
where TB.type = 'C';

但是,這只會導致:

ID | Value
----------
 2 |    14

並且會省略ID的13 這里的任何幫助將不勝感激!

**注意:我意識到會有更好的方法來組織這些表以簡化此過程。 las,我無法控制數據庫結構/方案。

您快到了,在JOIN之后發生了什么(大多數):

SELECT TA.id AS 'ID', TB.value AS 'Value'
FROM TableA AS TA
LEFT JOIN TableB TB AS TA.id = TB.key AND TB.type = 'C'
;

桌子的結構對我來說都不是一件壞事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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