簡體   English   中英

聯接中另一個表的不同列值

[英]DISTINCT COLUMN VALUES FROM ANOTHER TABLE IN JOIN

select t1.key,t2.design,t1.price,t1.gender,t1.store
from table1 t1,table2 t2
where t1.key=t2.key;

這是我的查詢。 在此查詢中,KEY列是不同的。 我需要具有不同DESIGN值的結果。 幫幫我

from table1 t1 join table2 t2 on t1.key = t2.key
where design like "specific design"

您的要求不准確。 有兩種可能:

1)您談論的是重復記錄,即對於具有相同設計的兩條記錄,鍵,價格,性別和商店的列保證相等。 有兩種解決方法:

select DISTINCT t1.key,t2.design,t1.price,t1.gender,t1.store
from table1 t1,table2 t2
where t1.key=t2.key;

要么

select t1.key,t2.design,t1.price,t1.gender,t1.store
from table1 t1, (select distinct key, design from table2) t2
where t1.key=t2.key;

2)您正在談論重復的設計和相關的含糊信息,即對於同一設計的兩條記錄,您可能會得到不同的價格等。然后,您必須考慮要為每個設計獲取哪些信息。 最高價? 價格總和? ...

select t1.key,t2.design,sum(t1.price),max(t1.gender),max(t1.store)
from table1 t1,table2 t2
where t1.key=t2.key
group by t1.key,t2.design;

這為您提供了每個鍵和設計的記錄。 如果只希望按設計記錄,則只能按設計分組並決定要與哪個鍵一起顯示。

最后一條建議:使用顯式聯接語法。 它更易於閱讀且不易出錯。

select t1.key, t2.design, t1.price, t1.gender, t1.store
from table1 t1
inner join table2 t2 on t1.key = t2.key;

暫無
暫無

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

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