2014-02-25 31 views
0

从下表中,我需要提取'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 | |新德里| dubey |巴黎|伦敦|纽约| |


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


4 | |纽约|伦敦|巴黎|杜拜|新德里| |


+1

你能证明你的数据?他们看起来像什么样,你想要什么? –

回答

0

你把|放在错误的地方。 试试这个

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