选择MySQL中具有该值的所有ID
我有两张桌子: 表1:选择MySQL中具有该值的所有ID,mysql,sql,database,Mysql,Sql,Database,我有两张桌子: 表1: ID ITEM -------------------- 1 AB 1 22S 1 AB 2 F45 2 BB 3 1 3 1 3 AA 3 F45 3 F67 3 A ...... 表2: ITE
ID ITEM
--------------------
1 AB
1 22S
1 AB
2 F45
2 BB
3 1
3 1
3 AA
3 F45
3 F67
3 A
......
表2:
ITEM COUNTRY
---------------
0 usa
1 italy
2 mexico
3 mexico
A greece
AA malta
AB usa
AC pakistan
B uk
BB france
BA france
BB russia
F45 uk
我使用以下查询获取每个ID的类似“A%”的项:
SELECT GROUP_CONCAT(ITEM)
FROM (SELECT Table1.ID, Table1.ITEM, Table1.date
FROM Table2 Table2 INNER JOIN Table1 Table1
ON (Table2.ITEM = Table1.ITEM) WHERE table2.ITEM like "A%"
ORDER BY Table1.id, Table1.date, Table2.ITEM) as temp
GROUP BY ID
ORDER BY ID
我想找到一种方法来编辑我的查询,这样我就可以只为碰巧有项目“F45”的ID获取上述信息(但我不想使用此项目,只需选择有它的ID即可)。。
我想任何帮助都会很感激的
SELECT GROUP_CONCAT(ITEM) AS group_item
FROM (SELECT Table1.ID, Table1.ITEM, Table1.date
FROM Table2 Table2 INNER JOIN Table1 Table1
ON (Table2.ITEM = Table1.ITEM) WHERE table2.ITEM like "A%"
ORDER BY Table1.id, Table1.date, Table2.ITEM) as temp
GROUP BY ID
HAVING group_item LIKE '%F45%'
ORDER BY ID
或者调整子查询以仅选择所需的行(这里我不确定您想要实现什么)从表1中选择id,其中的项为“%F45%”?