SQL问题求解答

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:26:21
我想在SQL中把T1和T2中X项对应的列的Y和Z项分别赋值成T2对应的Y和Z项,SQL的正确语句该怎么写
比如说 T1 A=2 B=3 C=4
T2 A=2 B=6 C=7
要变成T1 A=2 B=6 C=7
抱歉我好像没说得很清楚
T2 和 T1里的项是不同的,T1 A=2 B =3 C= 4 D=5 T2 X=2 Y=6 Z=7 D=5 最后的结果是T1 A=2 B =6 C=7 D=5

很简单 联表查询就OK

select T1.A ,T2.B ,T2.C from T1 join T2 on T1.A=T2.A

这样就可以了啊!

楼上的联表查询是查询,没有赋值,应该是修改语句:
(假设T1、T2是一个库中的两个表,最终修改T1)
Update T1 Set T1.A = T2.A,T1.B=T2.B From T1,T2 Where T1.A=T2.A
以上在 oracle数据库中可以,因为它可以从两个表中提出数据修改,在ACCESS数据库中,修改只能在一个表中进行。

以下是本人在材料进出库管理的一个Update语句:(access库)
strSQL:='Update clmcbm Set yks=dks-(ncsl+rks-cks),ykje=dkje-(ncje+rkje-ckje)';
with dm.ADOQuery_Public do
begin
if Active then Active:=False;
sql.Clear;
sql.Add(strsql);
ExecSQL;
end;

那么针对ACCESS数据库如何?首先在表单上建一个连接组件指向ACCESS库,然后再2个ADOQuery,例子如下:(在D7下通过:)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;

type
TForm1 = class(TForm)
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
Button1: TButton;
ADOQuery2: TADOQ