【发布时间】:2015-07-16 17:54:12
【问题描述】:
我正在学习如何编写 sql join 并编写了以下查询。
SELECT patient.name, patient.address, patient.CONTACTNUMBER, patient.disease,
patient.joining FROM patient INNER JOIN add_doctor ON patient.DOCASSIGN = 4534543
我得到的结果是
**NAME ADDRESS CONTACTNUMBER DISEASE JOINING**
sdfdvd sdfdfbdfgd 3243453 sdvdvbd 01-JUL-15
sdfdvd sdfdfbdfgd 3243453 sdvdvbd 01-JUL-15
我对为什么返回两个相同的行作为我的查询结果感到困惑。请让我知道我该如何解决它,也请帮助我理解为什么它会打印同一行两次
病人表
ID NAME DISEASE ADDRESS CONTACTNUMBER DOCASSIGN ROOMASSIGN JOINING DISCHARGE
5656 sdfdvd sdvdvbd sdfdfbdfgd 3243453 4534543 General 01-JUL-15 15-JUL-15
65654 rgdgdgvds sdfdfdgdfdb 1123fdffdbfd 4556767 4545 VIP 08-JUL-15 15-JUL-15
医生桌
ID NAME ADDRESS EMAIL CONTACT SPECIALITY SALARY PASSWORD
4534543 fggfhdfs rgghfgjfdj gfhgfhjg 4365457567 dfsfhgjgkgfk 435435 safgdgd
4545 aaaaaaaaa dffgdsg fdfgds 43535 dffssgdhgd 324234 dfdhgggfdh
【问题讨论】:
-
把两张表都包含进去,我们可以查看数据
-
提供 RDBMS(MySQL、Oracle、SQL-Server 等)、示例数据和表结构。
-
您的患者表中必须有两行 DOCASSIGN 的值为 4534543。
-
patient.DOCASSIGN = 4534543 此记录在您的表中出现 2 次。
-
连同数据过滤条件一起给出连接过滤条件。根据两个表中的列连接过滤条件。