SQL查询在站点之间查找列车

时间:2013-06-28 10:22:18

标签: asp.net sql sql-server

这是我列车时间表的表格,我希望车站之间的列车解决方案

Train  Code
15609  ABC
15609  XYZ
15609  PQR  
15609  ADI  
15609  QWE   
15609  XPM   
15609  IND 
15680  ABC
15680  XYZ
15680  PQR  
15680  ADI  
15680  QWE   
15680  XPM   
15680  IND 

对于输出,用户将提供两个代码输入,例如:ABCXYZ     输出将是包含代码ABCXYZ的所有列号。

3 个答案:

答案 0 :(得分:4)

我认为你想要的是这样的

select Train from mytable where Code = 'ABC'
intersect
select Train from mytable where Code = 'XYZ'

SQL FIDDLE EXAMPLE

答案 1 :(得分:4)

这应该可以解决问题。它也应该表现良好 - 不需要JOIN。

SELECT
   Train
FROM
   dbo.TrainTime
WHERE
   Code IN ('ABC', 'XYZ')
GROUP BY
   Train
HAVING
   Count(DISTINCT Code) = 2
;

答案 2 :(得分:-1)

嗯,这可能太简单了:

select distinct [Train] from mytable 
where code = 'ABC' or code = 'XYZ'

如果我误解了某事,请告诉我。