mysql - oracle 多表查詢問(wèn)題-笛卡兒積過(guò)濾
問(wèn)題描述
問(wèn)題如下:
查詢出現(xiàn)笛卡兒積過(guò)濾的問(wè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開始一級(jí)一級(jí)比較下來(lái)的,最終得到的e的結(jié)果是正確的,但是q的結(jié)果會(huì)出現(xiàn)兩次,并且q只跟a有關(guān)聯(lián),請(qǐng)問(wèn)怎么查詢才能解決這個(gè)問(wèn)題呢?
問(wèn)題解答
回答1:q表和a表是一對(duì)多的關(guān)系,如果q表的結(jié)果只想出一條,可以在關(guān)聯(lián)前先把q表按照aid字段進(jìn)行匯總,保證每個(gè)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
相關(guān)文章:
1. thinkphp3 count()方法必須加上字段?2. python中return 語(yǔ)句與 分支語(yǔ)句連用問(wèn)題3. mysql 5個(gè)left關(guān)鍵 然后再用搜索條件 幾千條數(shù)據(jù)就會(huì)卡,如何解決呢4. python - angular route 與 django urls 沖突怎么解決?5. 這是什么情況???6. 微信內(nèi)網(wǎng)頁(yè)上傳圖片問(wèn)題7. 非root安裝MySQL5.6報(bào)錯(cuò),求助!!!8. 輸入地址報(bào)以下截圖錯(cuò)誤,怎么辦?9. node.js - nodejs中mysql子查詢返回多行結(jié)果怎么處理?10. mysql - 瞬間流量很高的網(wǎng)站,要頻繁的插入數(shù)據(jù)到數(shù)據(jù)庫(kù),應(yīng)該怎么解決這個(gè)問(wèn)題?
