我是SQL新手,正在学习内部连接。但是,当我运行我的查询时,我收到的输出比我应该多。在我的INNER JOIN sql查询中获取重复的输出
SELECT pfr.pno AS 'Property Number',
pfr.street,
pfr.rooms,
pfr.rent,
CONCAT(o.fname, ' ', o.lname) AS 'Owner Name',
CONCAT(s.fname,' ',s.lname) AS 'Staff Name',
v.date,
v.comment
From property_for_rent AS pfr
INNER JOIN owner AS o
ON pfr.ono = o.ono
INNER JOIN staff AS s
ON pfr.sno = s.sno
INNER JOIN viewing AS v
ON pfr.pno = v.pno
WHERE pfr.pno = 'PG4';
我附上了我输出的截图。我希望这是足够的信息! 1的关系:
您的重复项不重复。你在查看时有2行与该pfr编号相匹配(我假设这意味着该属性已被查看2次)。一个在五月份没有评论,一个在四月的某个时候“太偏远”。 – Twelfth
显然你在这些表上有一对多的关系。我认为它的行为是正确的。这只是你想要处理重复数据的逻辑问题。 – Eric
显示该ID的查看表数据 – Rams