2015-12-08 59 views
-3

我有像下面兩個表:如何使用PHP + MySQL執行JOIN操作並刪除重複的行?

表一個

tablea

表-B

tableb

顏色代碼顯示錶中的如何的條目有關係。 table-a顯示項目名稱和它的組成標籤(讓它成爲它的成分/組件的ID)。表b顯示了物品可用的形式,例如,項目1111可用於杯子,項目2222錐形和條形等。我需要的是,當我給tagid時,我想檢索相應的type s,其中它是可用的。

如果它給101,102,它應該返回;

cup 

如果給101,103,它應該返回;

cone 
bar 
cup 

在第二種情況下,請注意,它實際上返回

cone 
bar 
cone 
cup 

但我不想cone重複。我不想要重複的行。

我該怎麼做?這是一種JOIN操作?我使用PHP + MySQL。在MySQL的幫助下,這可能嗎?

+2

您可以使用GROUP BY特定ID –

+0

的SELECT DISTINCT是要走的路。 (爲什麼在不涉及集合函數的情況下進行分組......?) – jarlh

回答

2

MySQL查詢例如:

select distinct type 
from tableb b inner join tablea a on b.product = a.item 
where a.tagid IN (101,103) 
0
SELECT tableb.type 
FROM tableb INNER JOIN tablea ON tablea.item = tableb.product 
WHERE tablea.tagid IN ('YOUR-IDS-ARRAY') 
GROUP BY tableb.type; 
0
select type from tableb b inner join tablea a on b.product = a.item where a.tagid IN (101,103) group by type 
+0

當您執行SELECT DISTINCT時,不需要該GROUP BY ... – jarlh