我正在为自己的企业编写一个简单的客户数据库(新娘礼服)并尝试达到以下目标:
我尝试过滤掉那些没有" ordered = 1"旗。因此,来自用户的所有条目,其中至少一个条目具有" ordered = 1"不应该显示标志。
在下图中,不应显示用户575的所有条目,因为他已经订购了一件衣服......
可以这样做吗?
亲切的问候,
的Stefan
答案 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