有人可以告诉我这段代码有什么问题。 基本上我要做的是根据他们的ID而不是名字来识别租房者(如果有更多同名租房者)。谢谢
SELECT DISTINCT P.PROPERTYId, P.PROPERTYName, T.TYPEName
FROM RENTAL R, PROPERTY P, TYPE T
Group by P.PROPERTYId, P.PROPERTYName, T.TYPEName
HAVING RENTERId = (SELECT RENTERId FROM RENTER
WHERE RENTERFirstName = 'AL'
AND RENTERLastName = 'SMITH')
AND R.PROPERTYId = P.PROPERTYId
AND P.TYPEId = T.TYPEId
AND T.TYPEName = 'VILLA';
答案 0 :(得分:2)
试试这个。
SELECT DISTINCT
Renter.RenterID,
Property.PropertyId,
Property.PropertyName,
Type.TYPEName
FROM Rental
inner join Property on Rental.PropertyID = Property.PropertyID
inner join Type on Property.TypeID = Type.TypeID
inner join Renter on Rental.RenterID = Renter.RenterID
where Type.TypeName = 'villa'
and Renter.RenterFirstName = 'al'
and Renter.RenterLastName = 'smith'
注意如何使用join
语法链接表,并保留where
子句用于过滤。
答案 1 :(得分:0)
试试吧。替换= IN。