0
我目前正在寻找有至少一个订单项目(产品)具有一定的布尔集订单: - 该产品是一种订购产品 - 该产品是建立产品选择不同与父母孩子和返回布尔至少有一个孩子的值?
如果orderlines之一具有这样值设置为1,我想在每个DISTINCT订单ID的查询中返回此值。
这似乎并不为我工作:
SELECT DISTINCT [ORDER].[order_id]
,[ORDERLINE].[is_subscription] AS hasSubArticles
,[ORDERLINE].[is_setup] AS hasSetupArticles
FROM [ORDER]
LEFT JOIN [ORDERLINE]
ON [ORDER].[order_id] = [ORDERLINE].[f_order_id]
WHERE [G_ORDER].[status] = 1
ORDER BY [ORDER].[order_id]
,[ORDERLINE].[is_subscription] AS hasSubArticles
,[ORDERLINE].[is_setup] AS hasSetupArticles
当我检查返回的记录,我收到重复的订单记录:
order_id hasSubArticles hasSetupArticles
----------------------------------------
17804 NULL NULL
17804 1 0
我想每个订单只返回1记录ID ,因此这不适合我。
我在做什么错?
你没有过滤掉不认购或设置篇线项目。 –
此外,返回空值的订单在您加入的表中没有相关记录,或者至少在您使用where子句放置的过滤器中有相关记录。 –