[英]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.key
上TableA.id = TableB.key
。 我想顯示TableA.id
和TableB.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的1
和3
。 這里的任何幫助將不勝感激!
**注意:我意識到會有更好的方法來組織這些表以簡化此過程。 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.