我在下面写了一个查询:
SET @City = 'London,Lyon,Kln';
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(@City, ',',@r:=@r+1),',',-1) City
FROM (SELECT @r:=0) x,
(SELECT 'x' xx
UNION
SELECT 'v' xx
UNION
SELECT 'z' xx) z;
以表格格式返回城市&现在我想将它作为参数传递给查询,如:
SET @City = 'London,Lyon,Kln';
SELECT *
FROM Invoices
WHERE City IN (
SELECT SUBSTRING_INDEX(
SUBSTRING_INDEX( @City, ',',@r:=@r+1),',',-1
) City
FROM (SELECT @r:=0) x,
(SELECT 'x' xx
UNION
SELECT 'v' xx
UNION
SELECT 'z' xx) z
)
但是当我执行此查询时,它会返回' Kln'仅限城市,即。对于@City
变量中提到的最后一个城市。
所以请告诉我如何获取所有@City
变量城市的记录。