请问一条操作表语句,谢谢高手了
现在我要把a(q,w)字段的数据复制到已经存在的表b(q,w,e)字段去,注意,b表比a表多了一个e字段,
怎么写sql语句呢,谢谢
问题点数:20、回复次数:8Top
1 楼yuvotesyg518(青出于蓝)回复于 2006-07-04 09:55:22 得分 0
直接写SQL语句吗?
那我所能做的只是关注,呵呵!Top
2 楼playwarcraft(时间就像乳沟,挤挤还是有的)回复于 2006-07-04 09:59:07 得分 0
不一樣嗎?
insert into b(q,w)
select q ,w from aTop
3 楼dinoLgrace(淡泊以明志,宁静而致远)回复于 2006-07-04 09:59:29 得分 0
我现在要多一个条件的,就是我点击一个按钮的时候把a表数据复制到b表中去的时候同时会在b表的e字段中加上我要加的数字,b表中的字段数据可以重复的,只要不是q和e数据同时相等就可以重复插入,怎么写呢,谢谢Top
4 楼playwarcraft(时间就像乳沟,挤挤还是有的)回复于 2006-07-04 10:25:41 得分 0
不好意思,不是很明白你的意思,
你想加數字,可以直接加select後面啊,比如加個e=3
insert into b(q,w,e)
select q,w,3 from a where not exists (select 1 from b where a.q=b.q and b.e=3)Top
5 楼dinoLgrace(淡泊以明志,宁静而致远)回复于 2006-07-04 10:48:04 得分 0
你好,playwarcraft() ,我其实在做一个医院的ID卡管理系统,点击一个按钮的时候把原表a的数据全部复制到b表中去,并且同时在b表的字段e上面插入我在界面上输入的号码,b表中的q和e是不能为空的,就是一个名字对应多张卡,卡号e可以重复,请问明白了吗?
还有,我对where not exists (select 1 from b where a.q=b.q and b.e=3)不是很清楚,能讲下吗,谢谢Top
6 楼playwarcraft(时间就像乳沟,挤挤还是有的)回复于 2006-07-04 11:11:51 得分 20
喔,建一個procedure,把輸入的數字傳進去,
試試看,把a的資料插入到b中去,並且當a的q和輸入的e在b中已經存在的話,將不插入此筆紀錄.
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'sp_hospital' AND type = 'P')
DROP PROCEDURE sp_hospital
GO
CREATE PROCEDURE [dbo].[sp_hospital]
@num int
as
declare @sql varchar(1000)
set @sql='insert into b(q,w,e) select q,w,'+Rtrim(convert(char(10),@num))+' from a
where not exists (select 1 from b where a.q=b.q and b.e='+Rtrim(convert
(char(10),@num))+')'
exec (@sql)
Top
7 楼dinoLgrace(淡泊以明志,宁静而致远)回复于 2006-07-04 11:27:43 得分 0
你好,我的问题解决了,请问怎么在数据库后台那里约束當a的q和輸入的e在b中已經存在的話,將不插入此筆紀錄呢?我对那些存储过程不熟悉啊,谢谢你了Top
8 楼78984598(贺鑫)回复于 2006-07-04 12:02:31 得分 0
insert into b(q,w) select q,w from a.q!=b.eTop




