0

誰かがこのコードの問題点を教えてもらえますか?基本的に私がやろうとしているのは、名前ではなく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';
4

2 に答える 2

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。句はフィルタリング用に予約されています。

于 2012-09-15T17:35:14.667 に答える
0

それを試してみてください 。=をINに置き換えます。

于 2012-09-15T17:44:02.093 に答える