insert 内容来自一个变量和select f1,count(f2) from t1 group by f1, 如何写?(50分)

  • 主题发起人 主题发起人 piza
  • 开始时间 开始时间
P

piza

Unregistered / Unconfirmed
GUEST, unregistred user!
大意:
Insert INTO t2(F1, F2, F3)
SELECT T1.F1, COUNT(DISTINCT T1.F2),变量
FROM T1
GROUP BY T1.F1, T1.F2;
 
哪是在ms sql中可以这样
insert into t2(f1,f2,f3)
values(select t1.f1,count(distinct t1.f2),变量 from t1 group by f1,f2))
 
先给SQL里写上insert into 表名 (字段1,字段2) values (:G_code,:G_name)
然后用
parambyname('G_code').asstring:='0001';
parambyname('G_name').asstring:='张三';
给G_code和G_name附值
在打开库就等于
insert into 表名 (字段1,字段2) values ('0001','张三')


 
字符串拼接
 
jjweb: 要插入的是多条记录
sonie: 我想是不是这样
MyVar:=Now;
with Query1 do begin
close;
with SQL do begin
clear;
` Add('Insert Into t2(f1,f2,f3) ');
Add('Values(Select ff1, COUNT(DISTINCT ff2) ,:MyVar);
???
Add(' FROM t1');
Add(' Group by ff1, :MyVar)');
???
ExecSQL;
end;
end;
 
不行,肯定不行
with Query1 do
begin
close;
with SQL do
begin
clear;`
Add('Insert Into t2(f1,f2,f3) ');
Add('Values(Select ff1, COUNT(DISTINCT ff2) ,:MyVar');
Add(' FROM t1');
Add(' Group by ff1, :MyVar)');
???这里有没有必要或者行不行,你再试试,应该是不要的
end;
parambyname('Myvar').AsDataTime=now;//这句才是真正的给参数赋值,你原来的那句myvar:=now是要不得的
ExecSQL;
end;
 
那个数据库?
 
重要的是用 parambyname('Myvar').asstring:='abcde';
然后在执行
 
query 里的sql 写上:Insert INTO t2(F1, F2, F3)
SELECT T1.F1, COUNT(DISTINCT T1.F2),:var
FROM T1 GROUP BY T1.F1, T1.F2

程序里写上 parambyname('var').asstring:='张三';

再 query.execute;

行了?


 
多人接受答案了。
 
后退
顶部