需要从左到右提取属性值,由分隔符分隔

时间:2014-02-25 10:27:51

标签: mysql

从下表中,我需要提取'via'属性值。我正在尝试使用此查询获取route_id

SELECT route_id FROM route_details
WHERE( 
  via LIKE '|%new delhi%|' AND
  via LIKE '|%london%|'
)

但是在输出中我得到了所有行,而我只需要获得route_id 1和2.我不想在输出中使用route_id 3和4。

请告诉我如何实现这一目标。


route_id |通过|


1 | | newdelhi |杜贝|巴黎|伦敦| |


2 | |新德里|杜邦|巴黎|伦敦|纽约| |


3 | |伦敦|巴黎| dubey |新德里| |


4 | |纽约|伦敦|巴黎| dubey |新德里| |


2 个答案:

答案 0 :(得分:0)

您将|放在错误的位置。 试试这个

    SELECT route_id FROM route_details
     WHERE( 
     via LIKE '%|new delhi|%' AND
     via LIKE '%|london|%'
     ) 
    AND route_id in (1 ,2)

答案 1 :(得分:0)

SELECT 
    route_id
FROM
    route_details
WHERE
    (via LIKE '|%new delhi%|'
        AND via LIKE '|%london%|')
        AND (route_id = 1 OR route_id = 2);