sql合并相同列

zengshaoxiang520 2012-07-10 01:56:56
数据库结构如下:
表 A
总行程 出发地 目的地 订单编号
上海-纽约 上海 洛杉矶 1
上海-纽约 洛杉矶 纽约 1
上海-纽约 纽约 洛杉矶 1
上海-纽约 洛杉矶 上海 1
上海-首尔 上海 首尔 2
上海-纽约 首尔 上海 2

表 B
订单号 价格 支付状态 联系人手机
1 1000 0 123
2 2000 0 321

表 C
乘客姓名 订单号
张三 1
李四 1
李白 1
王五 2
消散 2

条件查询 联系人手机=123 乘客姓名=张三
查询结果:1 上海-纽约 上海 洛杉矶 1000 0

哪位大神知道怎么写呀 分不够 谢谢大家乐
...全文
319 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbymdh2003 2012-07-10
  • 打赏
  • 举报
回复
create table table_a(总行程 varchar(50),出发地 varchar(10),目的地 varchar(10),订单编号 int)
create table table_b(订单号 int,价格 int,支付状态 int,联系人手机 bigint)
create table table_c(乘客姓名 varchar(10),订单号 int)

insert into table_a
select '上海-纽约','上海','洛杉矶',1 union all
select '上海-纽约','洛杉矶','纽约',1 union all
select '上海-纽约','纽约','洛杉矶',1 union all
select '上海-纽约','洛杉矶','上海',1 union all
select '上海-首尔','上海','首尔',2 union all
select '上海-纽约','首尔','上海',2

insert into table_b
select 1,1000,0,123 union all
select 2,2000,0,321

insert into table_c
select '张三',1 union all
select '李四',1 union all
select '李白',1 union all
select '王五',2 union all
select '消散',2

select a.订单编号,a.总行程,a.出发地,a.目的地,b.价格,b.支付状态
from table_a a
join table_b b on a.订单编号=b.订单号
join table_c c on a.订单编号=c.订单号
where b.联系人手机=123 and c.乘客姓名='张三'
shoppo0505 2012-07-10
  • 打赏
  • 举报
回复
select 总行程
from A
group by 总行程,订单编号
zengshaoxiang520 2012-07-10
  • 打赏
  • 举报
回复
从上海到纽约 要先飞洛杉矶 然后转机到 纽约 这是两条数据 还有两条是飞回来的 纽约-上海
我需要的数据是 3个表都有个订单号 联系手机为123 乘客姓名为张三的
查询出来 一个订单 只有一条数据 不过不经过处理 应该会是4条 我现在的疑问就是把订单为1的那4条数据 变成一条 A表中只提供出一条数据就可以了
SQL77 2012-07-10
  • 打赏
  • 举报
回复
木看懂。

22,209

社区成员

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

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