我有两个表像下在我的sql脚本中,LEFT JOIN给出的输出像CROSS JOIN?
DailyData
Date Id CompanyName CompanyPrice CompanyId
21-12-2011 123 ABC corp 120 535
25-12-2011 352 Z Edge 101 444
25-12-2011 352 Z Edge 100 444
primary key is `date` and `Id`
ReportData
RId Date CompanyName TodayPrice CompanyId
1 25-12-2011 Z Edge 230 444
primary key is only `RId`
现在我已经使用以下LEFT JOIN
两个以上表所示:
Select a.date,a.companyname,a.CompanyPrice,b.TodayPrice
from DailyData a LEFT JOIN ReportData b ON
a.companyid= b.companyid where a.Date = '25-12-2011'
但不是两个记录这是给两个以上的记录(same records multiple times)
这是为什么?
请帮我纠正我的sql查询。
以上数据预期输出应该是:
date companyname companyprice todaysprice
25-12-2011 Z Edge 101 230
25-12-2011 Z Edge 100 230
@ashuthinks你能扩大你的数据在你的OP,并且告诉你做了什么?或者用一些示例数据创建一个sql小提琴? – Taryn 2013-05-08 11:06:16