SQL - 從兩個表中選擇值但不重複

ttyttt

我有兩個表,我想從一個表中選擇所有列,並從另一個表中再選擇一列,我的代碼:

SELECT uc.*,ul.NAME FROM UC AS uc
inner JOIN UL AS ul
ON uc.PARTY_ID = ul.PARTY_ID WHERE PID = '33322';

這是有效的,但是因為在表 UL 中我有多個 PARTY_ID 值,對於他們中的每一個我都有額外的行,我可以以某種方式禁用它,我只想獲得一個 vale,有什麼幫助嗎?

UC 表示例:

ID, PARTY_ID, PID
1, AAA, 33322
2, BBB, 33322
3, CCC, 2222222

UL 表示例:

ID, PARTY_ID, NAME
1, AAA, HELLO
2, AAA, GOODBYE
3, BBB, LILA
2, BBB, MULI

結果應該是:

ID, PARTY_ID, PID, NAME
1, AAA, 33322, HELLO
2, BBB, 33322, LILA
ScaisEdge

如果您有幾個重複的行,您可以嘗試使用 DISTINCT

SELECT distinct uc.*,ul.NAME FROM UC AS uc
inner JOIN UL AS ul   ON uc.PARTY_ID = ul.PARTY_ID 
WHERE PID = '33322';

但是根據您的示例,如果您想要行中所有名稱的結果,您可以使用 group_concat

SELECT uc.*, group_concat(ul.NAME)
FROM UC AS uc
inner JOIN UL AS ul   ON uc.PARTY_ID = ul.PARTY_ID 
WHERE PID = '33322'
group by uc.id;

否則,如果名稱值不相關,您可以嘗試使用假聚合函數

SELECT uc.*, min(ul.NAME)
FROM UC AS uc
inner JOIN UL AS ul   ON uc.PARTY_ID = ul.PARTY_ID 
WHERE PID = '33322'
group by uc.id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章