2

这是我的火车时刻表我想要一个车站之间的火车解决方案

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 输出将是所有具有代码ABC和的列车号XYZ

4

3 回答 3

4

我想你想要的是这样的

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

SQL 提琴示例

于 2013-06-28T10:27:49.503 回答
4

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

SELECT
   Train
FROM
   dbo.TrainTime
WHERE
   Code IN ('ABC', 'XYZ')
GROUP BY
   Train
HAVING
   Count(DISTINCT Code) = 2
;
于 2013-06-28T10:28:56.197 回答
-1

好吧,这很简单,也许太简单了:

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

如果我误解了什么,请告诉我。

于 2013-06-28T10:25:43.923 回答