我有一张表,里面有公共汽车站的路线号。。
就像下面。。

    route_id                  stop_name
     1234                      stop1
     1234                      stop2
     1235                      stop7
     1235                      stop8

我想要一个包含stop1和stop2的路由id(对于stop1和stop2,我想得到1234)
我写了这个问题。。
SELECT DISTINCT(route_id)
FROM bus_stops
WHERE stops='stop1' AND stops='stop2'

但它返回了一个空集合。

最佳答案

你可以试试这个,但我不保证这是最好或最优雅的解决方案:

SELECT DISTINCT route_id FROM myTable AS myAlias
WHERE EXISTS ( SELECT * FROM myTable WHERE route_id = myAlias.route_id AND stop_name = 'stop1' )
  AND EXISTS ( SELECT * FROM myTable WHERE route_id = myAlias.route_id AND stop_name = 'stop2' )

实际上,我甚至不保证它是经过测试的——但是使用类似的子查询应该能让您达到目的。

关于mysql - 根据列条件返回一个mysql表列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17201794/

10-09 20:30