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開(kāi)始一級(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. css - 新手做響應(yīng)式布局, 斷點(diǎn)過(guò)后右側(cè)出現(xiàn)空白,求幫助,謝謝。2. javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問(wèn)題3. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效4. mysql - 查詢字段做了索引為什么不起效,還有查詢一個(gè)月的時(shí)候數(shù)據(jù)都是全部出來(lái)的,如果分拆3次的話就沒(méi)問(wèn)題,為什么呢。5. mysql - 記得以前在哪里看過(guò)一個(gè)估算時(shí)間的網(wǎng)站6. 大家好,我想請(qǐng)問(wèn)一下怎么做搜索欄能夠搜索到自己網(wǎng)站的內(nèi)容。7. ID主鍵不是自增的嗎 為什么還要加null8. MySQL中的enum類型有什么優(yōu)點(diǎn)?9. python - 啟動(dòng)Eric6時(shí)報(bào)錯(cuò):’qscintilla_zh_CN’ could not be loaded10. javascript - vue 怎么渲染自定義組件
