在我的sql中为参数传递多个值

时间:2016-02-04 09:38:14

标签: mysql

我在下面写了一个查询:

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变量城市的记录。

0 个答案:

没有答案