我有三张这样的桌子。
USERLOGIN
userID userPassword
c01 chutop
c02 213jkd
SystemUser
userID FName LName CategoryID
c01 Sidy Kamal 2
c02 Bindu Namal 1
c03 Sandy Khan 3
SystemUserCategory
CatID CatType
1 Admin
2 General
3 Librarian
当我在查询中输入userID='c01'
和userPassword
作为chutop
时,我想在结果集中获得的是:
userID FName LName catType
c01 Sidy Kamal Genaral
我输入的是用户名和密码。我想获得匹配记录的Fname
,LName
和catType
。此外,我将以userID c01
的身份登录,输入userID c01
,密码为chutop
。我想从Fname
的{{1}}表中检索Lname
和User
,我想从userID='c01'
表中获取catType
Category
s userID='c01'
,在这种情况下为2。
这是我尝试过的。
catID
它给了我12条记录而不是1条记录。
任何帮助纠正这个或任何查询帮助都会非常棒。
答案 0 :(得分:1)
这是我的答案。
SELECT userFName,UserLName,CatName
FROM userLogin INNER JOIN SystemUser ON (userLogin.userID=SystemUSer.userID) INNER JOIN SystemUserCategory ON (SystemUser.userCatID=SystemUserCategory.catID)
WHERE UserLogin.userID='c002' AND UserLogin.userPassword='ryan';
申请必要的用户名和密码。用户ID和密码就是我添加的内容。
答案 1 :(得分:0)
您必须使用内部联接,而不是从多个表中进行选择。
像这样:
select userFName, userLName,catID
from userLogin UL inner join SystemUser SU
on Ul.userId = SU.userId inner join SystemUserCategory SUC
on SU.CatID = SUC.CatID
答案 2 :(得分:0)
select ul.UserId,su.FName,su.LName,suc.CatType
from UserLogin ul
inner join SystemUser su on ul.UserId = su.UserId
inner join SystemUserCategory suc on su.CategoryId = suc.CatId
where ul.userId = 'c01' and ul.[Password] = 'chutop'
答案 3 :(得分:-2)