怎么写这个sql语句?

huang_2 2002-09-26 06:14:57
假设我现在想挑出符合以下条件的 MtlineId 的值,要求这个值的StationID字段同时有 123 和 456两个值

表结构如下:


Id MtLineId StationId

21225 2 744
21227 2 104
21228 2 775
21229 2 1178
21231 2 113
21232 2 909
21233 2 759
21237 3 170
21238 3 1170
21239 3 562
21240 3 105
21241 3 655
21243 3 39
21244 3 636
21246 4 15
21248 4 143
21250 4 1180
21252 4 1171
21254 4 3
21255 4 1030
21256 4 743
21258 4 700
21259 4 940
...全文
19 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
supsuccess 2002-10-17
  • 打赏
  • 举报
回复
select t1.MtLineId from
(select distinct MtLineId from tab where StationId=123)t1 join
(select distinct MtLineId from tab where StationId=456)t2 on t1.MtLineId=t2.MtLineId
hillhx 2002-09-27
  • 打赏
  • 举报
回复
haha
pqds 2002-09-27
  • 打赏
  • 举报
回复
同意自连接
pcdreama 2002-09-27
  • 打赏
  • 举报
回复
呵呵,学到东西了!
Yang_ 2002-09-27
  • 打赏
  • 举报
回复
自连接
huang_2 2002-09-27
  • 打赏
  • 举报
回复
我只有一个表,怎么变了两个表?
Yang_ 2002-09-26
  • 打赏
  • 举报
回复
select distinct a.MtLineId
from tablename a,tablename b
where a.StationId=123
and b.StationId=456
and a.MtLineId=b.MtLineId
Yang_ 2002-09-26
  • 打赏
  • 举报
回复
select distinct a.MtLineId
from tablename a,tablename b
where a.StationId=123
and b.StationId=456
and a.MtLineId=b.MtLineId
and a.id<>b.id

huang_2 2002-09-26
  • 打赏
  • 举报
回复
i test it
bowlder 2002-09-26
  • 打赏
  • 举报
回复
应该这样就可以了吧。
select distinct MtLineId from tablename where StationID=123 or StationID=456
Yang_ 2002-09-26
  • 打赏
  • 举报
回复
上面错了:

select distinct a.MtLineId
from tablename a,tablename b
where a.StationId=123
and b.b.StationId=456
and a,MtLineId=b.MtLineId
and a.id<>b.id
Yang_ 2002-09-26
  • 打赏
  • 举报
回复
select distinct a.MtLineId
from tablename a,tablename b
where a.StationId=b.StationId
and a.id<>b.id

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧