读书人

求sql语句(多谢!)

发布时间: 2012-01-31 21:28:41 作者: rapoo

求sql语句(谢谢!)
三张表a,b,c
表a
线路
1
2
3
4

表b
线路 次数
1 41
2 53

表c
线路 次数
1 43
2 32
4 33

合并三张表生成新表
a.线路 b.次数 c.次数
1 41 43
2 53 32
3
4 33
语句如何写?在线等,,,,


[解决办法]
Select
A.线路 As 线路,
IsNull(B.次数, 0) As B次数,
IsNull(C.次数, 0) As C次数
From
A
Left Join
B
On A.线路 = B.线路
Left Join
C
On A.线路 = C.线路
[解决办法]
同意上的
[解决办法]
--try

select A.线路, [B次数]=B.次数, [C次数]=C.次数
from A
left join
(
select 线路, 次数=sum(次数)
from B
group by 线路
)B on A.线路=B.线路
left join
(
select 线路, 次数=sum(次数)
from C
group by 线路
)C on A.线路=C.线路
[解决办法]
如类型为char,则可改 IsNull(B.次数, 0) As B次数,
为 IsNull(B.次数, ' ') As B次数,
这样0都不显示了
[解决办法]
Select
A.线路 As 线路,
IsNull(B.次数, ' ') As B次数,
IsNull(C.次数, ' ') As C次数
From
A
Left Join
B
On A.线路 = B.线路
Left Join
C
On A.线路 = C.线路

读书人网 >SQL Server

热点推荐