从多个字段(包括连接的字段)中获取不同的行

时间:2014-05-23 12:05:42

标签: mysql group-by distinct

我有两张桌子:

产品

ID   productname    organization 
---  ------------   ------------ 
1         X            orga #1
2         X            orga #2

工件

ID   productID        status     revision  platform 
---  ------------   ----------   --------  --------
1         1          milestone    0.9.0      win
2         1          milestone    0.9.0      osx
3         2           release     1.0.0      win

我需要结合的是包含相同productId,status,revision的工件。它们唯一的区别是平台不是结果集的一部分。

结果集应包含: artifact-id,status,revision,productname和organization

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

SELECT a.id artifactID, status, revision, productname, organization
FROM Products p
JOIN Artifacts a ON a.productID = p.id
GROUP BY productID, status, revision

答案 1 :(得分:0)

如果您希望productID与Product id相同的所有工件,请使用INNER JOIN

SELECT A.id,
       A.status,
       A.revision,
       P.productname,
       P.organization
FROM Artifacts A
INNER JOIN Products P ON A.productID=P.id;