Mysql 如果。。。语句满足两个条件
我有一个带有布尔值的表,我想知道一组id是否同时具有这两个值 此sql选择要测试的产品组:Mysql 如果。。。语句满足两个条件,mysql,Mysql,我有一个带有布尔值的表,我想知道一组id是否同时具有这两个值 此sql选择要测试的产品组: SELECT cp.ItemID, cp.IsUnitsOfMeasure from grouped_products gp LEFT JOIN products p ON p.product_id = gp.product_id LEFT JOIN c_products cp ON cp.ItemID = p.product_id WHERE gp.group_id=123 我想了解组的cp
SELECT
cp.ItemID,
cp.IsUnitsOfMeasure
from grouped_products gp
LEFT JOIN products p ON p.product_id = gp.product_id
LEFT JOIN c_products cp ON cp.ItemID = p.product_id
WHERE gp.group_id=123
我想了解组的cp.IsUnitsOfMeasure是否同时包含1和0。请尝试以下操作:
SELECT
cp.ItemID,
SUM(cp.IsUnitsOfMeasure) AS sum,
COUNT(cp.IsUnitsOfMeasure) AS count,
from grouped_products gp
LEFT JOIN products p ON p.product_id = gp.product_id
LEFT JOIN c_products cp ON cp.ItemID = p.product_id
WHERE gp.group_id=123
- 如果
等于sum
,则所有行均为1count
- 如果
等于0,则所有行均为0sum
- 在所有其他情况下:组中同时有1和0
包含两个将分别为TRUE
或FALSE
,以指示每个组是否同时包含一个c_产品和另一个=1
,谢谢,这个答案实际上对我更有用,尽管另一个答案更符合我的实际要求。
SELECT gp.group_id,
SUM(cp.IsUnitsOfMeasure=0) AND SUM(cp.IsUnitsOfMeasure=1) AS ContainsBoth,
FROM grouped_products AS gp
LEFT JOIN products AS p USING (product_id)
LEFT JOIN c_products AS cp ON cp.ItemID = p.product_id
GROUP BY gp.group_id