我有父表和多個子表與外鍵約束。Sql查詢加入Oracle
School Table
School ID EduDetails Genders Address_id EDUTYPE
1 2 M 3 FGN
與子表像
Education Details
EDU ID EducationType
2 Online
AKA Name
School Id AKA Name
1 Test School
1 School Test
Gender Table
Gender ID Gender Desc
M Male
我使用LEFT OUTER JOIN家長和學校的表來獲取結果。
但我的問題是,如果AKA表有5個計數匹配學校Id和性別表只有1個記錄爲該學校Id。
所以結果帶有5個重複的行與學校信息和其他子表信息。
有沒有解決此問題的任何解決方法。我試圖通過函數使用子查詢和row_number。但它不適合我。任何人都可以幫助我解決這個問題。
在此感謝您的時間在尋找這個問題。
我需要的輸出應該是這樣的
School_id AKA Name GenderDesc EductaionType
1 Test School Male Online
1 School Test
所以我需要有NULL值的不匹配的記錄。
的問題是你的查詢產生笛卡爾乘積。什麼是您想要的結果,然後我們可以幫助構建您的查詢。 – sgeddes 2013-02-15 17:29:28
你的「子表」並不全是子表。 「教育細節」和「性別表」實際上就是*家長*表 - 也就是說,「學校表」是他們的孩子,反之亦然 - 但最好把他們想象成「查找表」。 (然而,「AKA Name」確實是一個子表。) – ruakh 2013-02-15 17:43:42
我剛剛更新了預期結果。 – skumar 2013-02-15 17:56:34