选择UID但不选择具有给定状态的UID?

时间:2017-01-13 15:30:34

标签: php mysql sql

enter image description here我正在为自己的企业编写一个简单的客户数据库(新娘礼服)并尝试达到以下目标:

我尝试过滤掉那些没有" ordered = 1"旗。因此,来自用户的所有条目,其中至少一个条目具有" ordered = 1"不应该显示标志。

在下图中,不应显示用户575的所有条目,因为他已经订购了一件衣服......

可以这样做吗?

亲切的问候,

的Stefan

3 个答案:

答案 0 :(得分:1)

使用not exists

select a1.*
from MyTable a1
where not exists (select 1  
                  from MyTable a2
                  where ordered = 1
                  and a1.UID = a2.UID)

答案 1 :(得分:0)

您也可以使用NOT IN

SELECT
 *
FROM 
 [table]
WHERE 
 uid NOT IN ( 
  SELECT 
   uid
  FROM 
   [table]
  WHERE
   ordered = 1   
 ) 

答案 2 :(得分:0)

        select *
from wccrm_kunden
where not exists (select 1  
                  from wccrm_anprobe
                  where ordered = 1
                  and wccrm_kunden.id = wccrm_anprobe.uid)
group by wccrm_kunden.id