从一个查询中的三个表中获取数据
问题描述:
我有三个这样的表。从一个查询中的三个表中获取数据
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
。我想检索来自User
表Fname
和Lname
为userID='c01'
,我想从Category
表catType
为userID='c01'
小号catID
,这是2在这种情况下。
这是我的尝试。
SELECT userFName, userLName, catID
FROM userLogin, SystemUser, SystemUserCategory
WHERE userLogin.userID='c001' AND userLogin.userPassword='chath';
它给我12条记录,而不是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';
应用必要的用户名和密码。用户标识和密码正是我所添加的。
答
您必须使用内部联接而不是从多个表中进行选择。
像这样:
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
答
SELECT userFName,userLName,CATID
FROM USERLOGIN,SystemUser,SystemUserCategory
WHERE userLogin.userID ='C001 '
AND userLogin.userPassword = 'chath'
AND SystemUser.userID = USERLOGIN。用户ID
和 SystemUser.CategoryID = SystemUserCategory.CategoryID
FROM USERLOGIN,SystemUser,SystemUserCategory
WHERE userLogin.userID ='C001 '
AND userLogin.userPassword = 'chath'
AND SystemUser.userID = USERLOGIN。用户ID
和 SystemUser.CategoryID = SystemUserCategory.CategoryID
答
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'
谷歌'SQL连接tutorial' – FuzzyTree 2014-09-22 14:54:43
你真的存储密码以纯文本形式? – Lamak 2014-09-22 14:56:43
您需要指定表格之间的相互关系。看看这个:http://sqlzoo.net/wiki/The_JOIN_operation – jpw 2014-09-22 14:57:08