mysql - oracle 多表查詢問題-笛卡兒積過濾
問題描述
問題如下:
查詢出現(xiàn)笛卡兒積過濾的問題 例子: A B C D E Q表
select e.name, e.age, e.phone, q.something from a a, b b, c c, d d, e e, q q where a.id = ’zhejiushiyige id’ and b.id = a.bid and c.id = b.cid and d.id = c.did and e.id = d.eid and q.aid = a.id
就是表e是從a開始一級一級比較下來的,最終得到的e的結果是正確的,但是q的結果會出現(xiàn)兩次,并且q只跟a有關聯(lián),請問怎么查詢才能解決這個問題呢?
問題解答
回答1:q表和a表是一對多的關系,如果q表的結果只想出一條,可以在關聯(lián)前先把q表按照aid字段進行匯總,保證每個aid只有一條,如:
select e.name, e.age, e.phone, q.something from a a, b b, c c, d d, e e, (select aid, max(something)) from q group by aid) table_q where a.id = ’zhejiushiyige id’ and b.id = a.bid and c.id = b.cid and d.id = c.did and e.id = d.eid and table_q.aid = a.id
相關文章:
1. MySQL中無法修改字段名的疑問2. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?3. Matlab和Python編程相似嗎,有兩種都學過的人可以說說嗎4. 網頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗證碼錯誤怎么辦?5. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)6. android - QQ物聯(lián),視頻通話7. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應8. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機器學習這塊?9. javascript - Web微信聊天輸入框解決方案10. mysql - 怎么讓 SELECT 1+null 等于 1
