![](/img/trans.png)
[英]How to select two record from two different table with one query in mysql
[英]MYSQL select only matched record from two queries(not table) then sort the result by B query
伙计们,我遇到这样的情况,我想消除A中不在B中的项目( 请参阅QUERY A中的红色阻止的项目 ),以便获得类似查询C的结果,但之后我想对项目进行排序根据查询B在查询C中的每个TID
然后将其排序后看起来像查询c排序
比方说,例如ACD-> ADC( 请参见蓝色阻止的项目 ),它是根据查询B和按事务排序的
并且如果查询A中的项目与查询b根本不匹配,我想将其完全删除( 请参见tid 5 )
这是我的查询的图示
请帮助我解决这个问题,我的项目已经被卡住了。
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
我不知道你的意思,但我会尝试一些提示
广告1.我要消除A中不在B中的项目
SELECT * FROM (queryA) as A WHERE item not in (SELECT item FROM queryB)
广告2。它根据查询B和交易进行排序
imo这是不可能的。 添加具有任意字母重量的新列,并按此新列进行排序
广告3.并且如果查询A中的项目与查询b根本不匹配,我想将其完全删除
像1:
DELETE * FROM (queryA) as A WHERE item not in (SELECT item FROM queryB)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.