我有一个Query返回377行
Select Cm.Customerid,Cm.Customername,Ad.Addressid,Ad.Addressline1,
Stm.Statename,Ctm.Cityname,Dm.Districtname
From Crm.Customers Cm
inner join Crm.Customeraddress Ad on Ad.Customerid=Cm.Customerid
Inner Join Ehis.Statemaster Stm On Stm.Stateid=Ad.Stateid
Inner Join Ehis.Citymaster Ctm On Ctm.Cityid=Ad.Cityid
inner join Ehis.Districtmaster dm on Dm.Districtid=Ad.Districtid
但如果我再添加一个连接(即)
Select
Cm.Customerid,Cm.Customername,Ad.Addressid,Ad.Addressline1,
Stm.Statename,Ctm.Cityname,Dm.Districtname
From Crm.Customers Cm
inner join Crm.Customeraddress Ad on Ad.Customerid=Cm.Customerid
inner join crm.agreements ag on ag.customerid=cm.customerid
Inner Join Ehis.Statemaster Stm On Stm.Stateid=Ad.Stateid
Inner Join Ehis.Citymaster Ctm On Ctm.Cityid=Ad.Cityid
inner join Ehis.Districtmaster dm on Dm.Districtid=Ad.Districtid
我的查询没有返回任何行。使用内部联接为城市区域主人,城市区主人是否有任何问题。请澄清相同的内容。
答案 0 :(得分:0)
此问题似乎与statemaster
,citymaster
或districtmaster
无关,因为这些问题位于返回数据的原始查询中。
附加行(下面)看起来是罪魁祸首。
inner join crm.agreements ag on ag.customerid=cm.customerid
据推测,agreements
表上没有customerid
表上匹配customers
的记录。
为了证明这种情况,您可以将该行更改为
left join crm.agreements ag on ag.customerid=cm.customerid
如果您收回377条记录,则需要检查agreements
中的数据。