sqlite 查找在每个人员订单中找到的元素

wqlqzqxt  于 2023-03-03  发布在  SQLite
关注(0)|答案(1)|浏览(123)

有了这样的表,对于每个ID,我需要编写SQL查询来查找特定ID的每个订单中的那些物料
| 识别号|订单编号|材料|
| - ------|- ------|- ------|
| "识别码1"|十二|"木"|
| "识别码1"|十二|"黄金"|
| "识别码1"|十二|黑曜石|
| "识别码1"|六十八|"木"|
| "识别码1"|六十八|"黄金"|
| "识别码1"|六十八|"黑曜石"|
| "识别码1"|六十八|基岩|
| “ID2”|一百三十八|"玻璃"|
| “ID2”|一百三十八|"砂岩"|
| “ID2”|一百三十八|"木"|
| “ID2”|一百三十九|"玻璃"|
| “ID2”|一百三十九|"砂岩"|
| “ID2”|一百三十九|"木"|
| “ID2”|一百三十九|"混凝土"|
结果必须为:
| 识别号|材料|
| - ------|- ------|
| "识别码1"|"木"|
| "识别码1"|"黄金"|
| "识别码1"|"黑曜石"|
| “ID2”|"玻璃"|
| “ID2”|"砂岩"|
| “ID2”|"木"|

ndasle7k

ndasle7k1#

select m.ID, m.MATERIAL
from (
    select id, MATERIAL, count(*) c
    from table
    group by id, MATERIAL
)m
inner join (
    select id, count(distinct ORDER_ID) c
    from table
    group by ID
)o
on o.ID = m.ID
and o.c = m.c

相关问题