我正在尝试显示两组数据。第一组显示拥有其中有租户的复合体的人。第二组显示拥有其中没有任何租户的复合体的人。
这是复杂名称的完整列表:
COMPN
-----
CM700
CM350
CM300
CM600
CM900
CM200
CM100
我想出了如何筛选出目前有租赁协议的那些。我使用了以下命令。
SELECT DISTINCT customer.custlname,
customer.custfname
FROM customer,
own,
rental
WHERE own.custid = customer.custid
AND rental.compname = own.compname;
然后我得到以下结果:
CUSTLNAME CUSTFNAME
---------- ----------
Pearson Robert
Garnet Kylie
Agassi Pamela
这对应于以下值:
COMPN
-----
CM350
CM900
CM200
我现在正试图弄清楚如何在他们的建筑群中展示没有租户的人。我不确定如何处理这个问题。我已经搞乱了一段时间,我无法弄清楚要使用的正确的操作程序。
由于
有关表格的其他信息:
客户
CUSTID CUSTLNAME CUSTFNAME BDATE S MGR
CUSTID是PK。
自有:
CUSTID COMPNAME
CUSTID是一个FK,指的是表Customer。 COMPNAME是指FX表格的FK。
租赁:
CUSTID COMPNAME APTNUM
CUSTID是指客户表的FK。 COMPNAME是指表复合体的FK。 APTNUM是FK指的是公寓。
答案 0 :(得分:1)
来自最新信息
select distinct customer.custlname, customer.custfname
from customer
left join own on own.custid = customer.custid
inner join rental on rental.compname = own.compname
where own.custid is null
修改:1
如何展示其馆内没有租户的人
使用 NOT IN
以下查询会为我提供 COMPNAME ,其中没有租户
select Complex.COMPNAME
from Complex,
Where COMPNAME NOT IN
(select COMPNAME
from rental)
编辑2:
根据 OP 愿望清单
SELECT DISTINCT customer.custlname,
customer.custfname
FROM customer,
own,
rental
WHERE own.custid = customer.custid
AND rental.compname = own.compname
AND rental.compname in (select Complex.COMPNAME
from Complex,
Where COMPNAME NOT IN
(select COMPNAME
from rental))