这不会显示结果
SELECT IMSLogin.AccountType, IMSLogin.Status, Registration.UsrFLname, Registration.UsrEmail, Employee.EMPID, Students.STUID, Employee.EMPDEPT, Franchise.FrArea, Franchise.FrName
FROM Registration
INNER JOIN IMSLogin ON Registration.RegId = IMSLogin.RegId
INNER JOIN Employee ON Registration.RegId = Employee.RegId
INNER JOIN Students ON Registration.RegId = Students.RegId
INNER JOIN Franchise ON Registration.RegId = Franchise.RegId
但如果我在下面给出,将给出正确的结果
SELECT Registration.UsrFLname, Registration.UsrEmail, Students.STUID, Students.Pay_type, IMSLogin.AccountType, IMSLogin.Status
FROM IMSLogin
INNER JOIN Registration ON IMSLogin.RegId = Registration.RegId
INNER JOIN Students ON Registration.RegId = Students.RegId
我的桌子:
Registration(RegId,PK)
IMSLogin(RegId, FK)
Students(RegId,FK)
Franchise(RegId,FK)
Employee(RegID,FK)
我试图在gridview中显示它,但我需要正确的查询,我不知道如何使用该内连接?
Plz帮助......
...谢谢
答案 0 :(得分:1)
试试这个 -
SELECT
l.AccountType
, l.[Status]
, r.UsrFLname
, r.UsrEmail
, e.EMPID
, s.STUID
, e.EMPDEPT
, f.FrArea
, f.FrName
FROM dbo.Registration r
JOIN dbo.IMSLogin l ON r.RegId = l.RegId
LEFT JOIN dbo.Students s ON r.RegId = s.RegId
LEFT JOIN dbo.Employee e ON r.RegId = e.RegId
LEFT JOIN dbo.Franchise f ON r.RegId = f.RegId
答案 1 :(得分:0)
您的数据库设计似乎很差。您应该有一个用户表,然后是相关表格,以了解有关学生,员工或特许经营的任何细节。你的问题是没有人可能同时在员工,学生和特许经营中。您很可能需要左联接到所有这三个表。