0
[1] SELECT X.id FROM somwhere WHERE X.location = _stringReturnedFromC#_
// I need ID from this table, I only know strin: Location (from C#)
[2] SELECT Y.NameID FROM _relationBetweenXandY_ xy WHERE xy.ID = [1]
// I use the ID I just found in [1]
[3] SELECT Z.Name FROM Z WHERE Z.NameID = [2]
// I use the ID I found in [2]
現在,我怎麼告訴select [2]
,我找xy.ID = result from select [1]
如何正確加入這些選擇?
而且select [3]
,我正在尋找與ID的傢伙的名字Z.NameID
我問這個問題here但據因爲我擔心這個問題是無法挽救的。
Z table:
Z.Name, Z.NameID
Y Table:
Y.PLACE, Y.PlaceID // fixed, Used to be PlaceID, is inface string: Place
X Table:
X.Name, X.PlaceID
如果他們有相同的名字,他們是外鍵(填充NameID,PlaceID)
這是實際的代碼看起來是這樣的:
SELECT * FROM Angajati a
JOIN Distribuire d ON d.Locatie = 'Oradea'
// now I need to get d.DistribuireID while I know d.Locatie (d.location). How ?
JOIN Angajari an ON d.DistribuireID = an.DistribuireID
因此
SELECT *
FROM TableX X
JOIN TableY y on x.PlaceId = y.PlaceId
JOIN TableZ z on y.NameId = z.NameId
不工作,因爲我不知道Y.PlaceID,我只知道Y.Place
最後的編輯
,如果這是越來越太長對不起。下面是它的外觀(我的意思是,即使語法不起作用,這是邏輯)現在我只需要這個語法!
SELECT d.DistribuireID FROM Distribuire d WHERE d.Locatie = 'Oradea'
JOIN Angajari an ON an.DistribuireID = d.DistribuireID /*Here I'd need an.AngajatID for the locationID I just selected*/
JOIN Angajati a ON a.AngajatID = an.AngajatID
我可能會問這個問題有點不對。一旦我找出不正確的地方,我會盡快回復你。 – Kalec
我已經編輯了一個小型的erorr。您的連接現在無法工作,我仍然不知道如何獲得最終結果。 – Kalec
@Kalec - 我不知道我完全理解你在找什麼,但我發佈了一個更新。讓我知道。 – sgeddes