如何在MySql中形成以下语句,它会起作用?
select a,b,c from xx where a in concat(select y from abc where x='a','%');
注意:子查询返回多行!
示例
|---A----|
|/backup/|
|/foto/ |
并且a in concat
应该返回子查询类似于以下示例的所有项目:
|/backup/23/x.txt |
|/backup/xx/asdf |
|/backup/x.txt |
这就是我需要concat的原因!
答案 0 :(得分:0)
很难准确说出你在这之后是什么,因为你的示例数据似乎与你的问题相矛盾,但我认为你需要使用EXISTS
子句,而不是IN
:
SELECT a, b, c
FROM xx
WHERE EXISTS
( SELECT 1
FROM abc
WHERE abc.x = 'a'
AND xx.a LIKE CONCAT(abc.y, '%')
);
<强> Example on SQL Fiddle 强>