日期:2014-05-18  浏览次数:20474 次

sql合并相同列
数据库结构如下:
表   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    

哪位大神知道怎么写呀         分不够       谢谢大家乐

------解决方案--------------------
木看懂。
------解决方案--------------------
select 总行程
from A
group by 总行程,订单编号

------解决方案--------------------
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.乘客姓名='张三'