伙计们,我有这样的情况,我想消除A中不在B中的项目(请参阅QUERY A中的红色阻止项),以便得到类似查询C的结果
但是之后,我想根据查询B对查询C中的每个TID进行排序
然后将其排序后看起来像查询c
比方说,例如ACD-> ADC(请参见蓝色阻止项)
根据查询B和交易进行排序
并且如果查询A中的项目与查询b完全不匹配,我想将其完全删除(请参见tid 5)
这是我的查询的ilustration
请帮助我解决这个问题,我的项目已被卡死。.thxu
问候,我
最佳答案
SELECT A.TID,A.ITEM
FROM (QueryA) A
INNER JOIN (QueryB) B ON (B.ITEM=A.ITEM)
ORDER BY A.TID,B.FREQUENCY DESC
这将使您按QueryC-Sorted的方式先按TID,然后按频率降序。
我假设您正在尝试获取QueryC-Sorted,而没有实际尝试从数据库中的QueryA删除行。
正如您评论的那样,看到您的查询,也许您可以运行此查询
SELECT kode_faktur AS TID,
kode_brg AS ITEM,
COUNT( kode_brg ) AS support
FROM detail
GROUP BY TID,ITEM
HAVING support >= 100
ORDER BY TID, support DESC
如果那没有给你你想要的东西,你可以试试这个
SELECT A.kode_faktur AS TID,A.kode_brg AS ITEM
FROM detail A
INNER JOIN
( SELECT kode_brg AS ITEM, COUNT( kode_brg ) AS support
FROM detail GROUP BY kode_brg HAVING support >=100
)B ON (B.ITEM = A.kode_brg)
ORDER BY A.kode_faktur,B.support DESC