我有一个表merchandises
和merchandise_groups_merchandise
字段值。后面的表格是用于存储哪些商品被选择在哪个商品组中的中间表 - 多对多。从merchandises.id
到merchandise_groups_merchandise.merchandise_id
有关系。如何从一个表中选择所有行,计算基于另一个表
我试图把一个查询产生以下结果,从merchandises
表中列出的所有商品和其中is_selected
是由merchandise_id是否在merchandise_groups_merchandise
表特定merchandise_group决定一个布尔值。并且,merchandise_groups_merchandise.group_id
由用户指定。
我已经尝试了LEFT JOIN,两个表之间,当然,只有返回实际的商品那是在小组中间表。
我该怎么做?
-------------------------------
|id |title |is_selected
---------------------------
|1 |Tree |1
|2 |Log |0
|3 |Toy |1
这是查询的SQL,我试过:
PARAMETERS group_id Short;
SELECT IIf(IsNull([merchandise_groups_merchandise].[merchandise_id]),False,True) AS selected, merchandises.id, merchandises.title
FROM merchandises LEFT JOIN merchandise_groups_merchandise ON merchandises.id = merchandise_groups_merchandise.merchandise_id
WHERE (((merchandise_groups_merchandise.merchandise_group_id)=[group_id]));
你能提供的样本数据和期望结果如何?你的解释有点难以遵循。 –