伙计们,我有这样的情况,我想消除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

09-27 06:22
查看更多