国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql - oracle 多表查詢問題-笛卡兒積過濾

瀏覽:104日期:2022-06-18 13:22:32

問題描述

問題如下:

查詢出現笛卡兒積過濾的問題 例子: 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的結果會出現兩次,并且q只跟a有關聯,請問怎么查詢才能解決這個問題呢?

問題解答

回答1:

q表和a表是一對多的關系,如果q表的結果只想出一條,可以在關聯前先把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

相關文章:
主站蜘蛛池模板: 定兴县| 宜昌市| 霍州市| 冷水江市| 修文县| 将乐县| 会东县| 即墨市| 井冈山市| 衡山县| 利津县| 屯留县| 桂平市| 金川县| 昌乐县| 礼泉县| 绍兴市| 姚安县| 玉树县| 巨野县| 鄂州市| 崇左市| 开平市| 晴隆县| 关岭| 高邑县| 关岭| 大悟县| 昭通市| 桃江县| 英吉沙县| 盐山县| 湖州市| 香格里拉县| 宁海县| 辰溪县| 沙田区| 渭南市| 清涧县| 资阳市| 什邡市|