我有一张这样的 table ..
[id][Col1][Col2][id_duplicated]
10 abc1 defg NULL
12 text text NULL
50 abc2 text NULL
90 NULL NULL 10
500 NULL NULL 10
620 NULL NULL 50
700 text text NULL
Id_duplicated 是一个值,标记它是同一张表上“id”行的副本。如果我选择 id 620,将显示 id 50 中的所有值
问题:
select id,col1 from table where col1 is like '%abc%'
只会显示 id=10 和 id=50 行,但如果有这些 id 的副本,我也需要显示
我想我需要一个子查询,首先查找是否有任何 '%abc%',然后第二个子查询检查 id_duplicated 上是否有任何副本等于 10 和 50 等等......
所以总而言之,我需要一个显示此结果的查询
[id][Col1][Col2][id_duplicated]
10 abc1 defg NULL
50 abc2 text NULL
90 NULL NULL 10
500 NULL NULL 10
620 NULL NULL 50
对不起我的英语
最佳答案
如果你想要额外的行,你可以使用 union 和一个 select 在 id_duplicated 中查找结果的 id:
http://sqlfiddle.com/#!9/ad817/8
select id,col1, col2, id_duplicated
from table
where col1 like '%abc%'
UNION
select id, col1, col2, id_duplicated
FROM table
WHERE id_duplicated IN (select id from table where col1 like '%abc%')
关于mysql - 一次 2 个 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837806/