sql高手请进(100分)

  • 主题发起人 主题发起人 swj
  • 开始时间 开始时间
S

swj

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的2条SQL都是可以的
insert into table1(字段名1) values(值1) where ....
insett into table1(字段名1) select 字段名 from table2 where ...
但怎样将这两条合在一起,我下面这样写就错了
insert into table1(字段名1,字段名2) values(值1,(select ...))
 
insert into table1(字段名1,字段名2) values(select 字段名1=值1,字段名2...))

 
楼上的 怎么少个括号,我的值1是本来知道的不用select语句,值2要用select语句
怎样合在一起.
 
莫非是 select 字段名1=已知值1,字段名2 from othertable ... ?
 
是啊,有什么问题吗?
 
to swj:
你理解错了,select 语句不一定要查表中的,也可以用来定义一个常量。
如:declare @aa int
select @aa=1 /* 等于 set @aa=1 */

to hubdog:
你的方法是对的,语句写错了。
insert into table1(字段名1,字段名2) select 值1,字段名 from table2 ...
 
INSERT INTO TABLE1(C1, C2, C3...)
SELECT 'CONST1', C2, C3... FROM TABLE2
 
用带参数的sql语句比较好
 
带参数怎么用select?
 
Query.SQL='
INSERT INTO TABLE1(C1, C2, C3...)
SELECT :MyVar, C2, C3... FROM TABLE2';
Query.ParamsByName('MyVar').As????:=XXXXXXX;
Query.ExecSQL;
 
多人接受答案了。
 
后退
顶部