我有2张桌子
'prodAtt'
attID, prodID
218, 11
219, 11
220, 10
221, 10
222, 15
223, 15
'attrdef'
attID, attName
218, a
219, b
220, c
221, e
222, f
223, g
我想查看所有具有prodID或10或11的attrdef行
我努力了
select * from ATTRdEF inner JOIN PRODATT on PRODATT.PRODUCT_ID = 11 or PRODATT.PRODUCT_ID = 10
但这将返回整个attrdef表,我正在使用squirrel及其DB2数据库。
有人可以告诉我我做错了吗?
最佳答案
您没有指定如何将表prodAtt
与表attrdef
联接,因此,尝试通过联接另一个表来实现的任何过滤均无效。您必须告诉数据库您希望将两个表连接到哪些列,然后可以添加WHERE
子句来过滤结果。
查看表,您应该将它们加入列attID
中:
SELECT a.attID
, a.attName
FROM ATTRDEF a
INNER JOIN PRODATT p ON a.ATTID = p.ATTID
WHERE p.prodID IN (10, 11);