日期:2014-05-19  浏览次数:20954 次

请各位大虾帮帮小弟解决一个SQL的语句问题。谢谢啦。
表一的数据:                                 表二的数据:

小邝     RMB     250                             小黑       RMB       400
小洋     RMB     168                             小洋       RMB       200
                                                        小黄       RMB       100

--------------------------------------
怎么样用一条SQL语句让以上两个表的数据集合起来组合成以下表三的数据?(以上两个表没有关系)
---------------------------------------
表三的数据:
小邝     RMB     250       小黑     RMB     400
小洋     RMB     168       小洋     RMB     200
                                  小黄     RMB     100
---------------------------------------
先谢谢各位大虾了。

------解决方案--------------------
这个。。。汗~~,毫无关系,很难。。。。

问了几个同事,都没有什么思路——不过我们都不是特别精通SQL,几个方案都被我们自己否决了

------解决方案--------------------
---------------------------------------
表三的数据:
小邝 RMB 250 小黑 RMB 400
小洋 RMB 168 小洋 RMB 200
小黄 RMB 100
---------------------------------------
lz是否写错了

是不是应该这样
---------------------------------------
表三的数据:
小邝 RMB 250
小洋 RMB 168
小黑 RMB 400
小洋 RMB 200
小黄 RMB 100
---------------------------------------

------解决方案--------------------
用临时表实现吧,简单一两句不太好实现
------解决方案--------------------
--寫的一個完整的測試例子

--創建測試環境
Create Table 表一
(Col1 Nvarchar(20),
Col2 Varchar(10),
Col3 Int)

Insert 表一 Select N '小邝 ', 'RMB ', 250
Union All Select N '小洋 ', 'RMB ', 168

Create Table 表二
(Col4 Nvarchar(20),
Col5 Varchar(10),
Col6 Int)

Insert 表二 Select N '小黑 ', 'RMB ', 400
Union All Select N '小洋 ', 'RMB ', 200
Union All Select N '小黄 ', 'RMB ', 100
GO
--創建存儲過程
Create ProceDure SP_TEST
As
Begin
Select ID = Identity(Int, 1, 1), * Into #T1 From 表一
Select ID = Identity(Int, 1, 1), * Into #T2 From 表二

Select
A.Col1, A.Col2, A.Col3,
B.Col4, B.Col5, B.Col6
From
#T1 A
Full Join
#T2 B
On A.ID = B.ID

Drop Table #T1, #T2
End
GO
--測試
EXEC SP_TEST
GO
--刪除測試環境
Drop Table 表一, 表二
Drop ProceDure SP_TEST
--結果
/*
Col1 Col2 Col3 Col4 Col5 Col6
小邝 RMB 250 小黑 RMB 400
小洋 RMB 168 小洋 RMB 200
NULL NULL NULL 小黄 RMB 100
*/