查看: 1614|回复: 3
|
SQL 求助,怎样insert 从两个table里选出(select)的东西
[复制链接]
|
|
之前公司的system design到不好,每个serial no是一个record..so 我要做一个function可以找出start serial 和 end serial. (有很多这样的block...)
so 新的table 只store start serial 和 end serial就可以了。
我有两个select statement
一个找start serial
SELECT *
From w_serial a
Where NOT EXISTS
Select b.ie_serial_no
From w_DTS_invoice_tran_sr AS b
WHERE CONVERT(bigint, b.ie_serial_no) = CONVERT(bigint, a.ie_serial_no,4)+1)
Order By ie_serial_no
一个找end serial
SELECT *
From w_serial a
Where NOT EXISTS
Select b.ie_serial_no
From w_DTS_invoice_tran_sr AS b
WHERE CONVERT(bigint, b.ie_serial_no) = CONVERT(bigint, a.ie_serial_no,4)+1)
Order By ie_serial_no
我现在试过了,全部都可以跑。
可以怎样insert 去一个新的table呢?
如果第一个select的result是
ie_serial_no
100000001
420000001
230000001
第二个select的result是
ie_serial_no
100000100
420000020
230000050
怎样写insert into new_serial.... 可以做到
start_serial_no end_serial_no
100000001 1000000100
420000001 4200000020
230000001 2300000050
谢谢 |
|
|
|
|
|
|
|
发表于 16-12-2006 09:57 PM
|
显示全部楼层
你的 start 和 end 可以用一个 sql 来写吗?
INSERT INTO new_serial SELECT start, end FROM ... |
|
|
|
|
|
|
|

楼主 |
发表于 18-12-2006 08:55 AM
|
显示全部楼层
可不可以再讲详细点...两个select都是在同一个table做的哦。 |
|
|
|
|
|
|
|
发表于 18-12-2006 12:47 PM
|
显示全部楼层
原帖由 GDRyan 于 18-12-2006 08:55 AM 发表
可不可以再讲详细点...两个select都是在同一个table做的哦。
你两个 select 有什么分别... 我似乎看不出来...  |
|
|
|
|
|
|
| |
本周最热论坛帖子
|