【发布时间】:2011-02-27 05:54:46
【问题描述】:
我有一个名为 transactions 的表,通过 items_transactions 表与项目具有多对多关系。
我想做这样的事情:
SELECT "transactions".*
FROM "transactions"
INNER JOIN "items_transactions"
ON "items_transactions".transaction_id = "transactions".id
INNER JOIN "items"
ON "items".id = "items_transactions".item_id
WHERE (items.id IN (<list of items>))
但这给了我与列表中的一个或多个项目相关联的所有交易,我只希望它给我与所有这些项目相关联的交易。
任何帮助将不胜感激。
【问题讨论】:
-
如果您使用了 RETURN 键,您的 SQL 代码会更容易阅读。
-
忘记问了,我们说的是哪个Sql——Sql Server?
-
我还不知道如何通过它自己的 SQL 来执行此操作,但您可以编写动态查询,在其中添加“and item.id=itemX”,循环中的第一个是“where item” .id=itemY' ...
-
OK 从你的答案评论它的 postgres。
标签: sql select join many-to-many inner-join