mysql从满足条件的地方选择

时间:2014-11-28 14:05:46

标签: mysql

我的表格结构如下

ProductID |  Image  | Default
1            1.jpg     N
1            2.jpg     Y
1            3.jpg     N
2            4.jpg     N
2            5.jpg     N
3            6.jpg     Y
3            7.jpg     N

我试图在没有默认图片的情况下返回所有producID' N' ,例如上面应该返回productID 2.抱歉没有代码尝试,因为我不知道该怎么做。

4 个答案:

答案 0 :(得分:2)

按产品分组,只选择没有default=Y

的产品
select productID
from your_table
group by productID
having sum(`default` = 'Y') = 0

答案 1 :(得分:0)

试试这个:

SELECT t1.productID
FROM yourtable t1
WHERE NOT EXISTS(
    SELECT 'DEFAULT'
    FROM yourtable t2
    WHERE T2.productid = t1.productid
    AND T2.`default` = 'Y'
)

答案 2 :(得分:-1)

This SQL code does what you want:

SELECT productID FROM  
    (SELECT productID, SUM(table.default = 'Y') AS Y_count 
    FROM table
    GROUP BY productID) AS tbl
WHERE Y_count = 0

答案 3 :(得分:-2)

如果default是数据库中的列,您可以使用:

Select * from mytabale where 'Default'='Y'