(select 'A1' A1,A1, 'A2' A2,A2, 'A3' A3,A3 from A表) X,B表
where XA1=BA1
把括号内的查询语句作为一个表,表名是Xsql的语法如下(如果是oracle的需要另写):
update a set 评委姓名 = b评委姓名 from table1 a, table2 b where a选考科目 = b监考科目
mysql可以用以下方法
-- tableb 通过 aid 关联tablea 的id,把tableb的fielda字段写入tablea的fielda字段UPDATE tablea SET fielda = (select fielda from tableb where tableaid=tablebaid)
-- 关联方式一样,把tablea中fielda的字段中的特定字符串替换成tableb中指定字段的值
update tablea set fielda = REPLACE(fielda,'[价格]',
(select price from tableb where tableaid=tablebaid)
)
sql server就不能一条语句更新了,要做存储过程来处理
不知道计算列能不能满足你的需要。假设表table1有a、b两个列,想生成另一个列为a列值+b列值
计算列添加语句如下
ALTER TABLE table1
ADD c AS a+b
这样就新增加一个c列,c列不需要更新和赋值,会自动按计算列的公式a+b计算出取值。
当然a+b这种算法只是一个例子,可以根据需要设置为更为复杂的运算。
-- 先更改A表中列的数据类型
ALTER TABLE A ALTER COLUMN address_ID VARCHAR(128)
-- 开始联接查询,条件更新
UPDATE a
SET aaddress_ID = baddressname
FROM a, b
WHERE aaddress_ID = baddress_ID
SELECT FROM aInsert Into b(字段名, ) Select 字段名1,字段2 From a Left Join b On a[字段1]=b[字段1] Where((b[字段1]) Is Null);先左连接查询,判断出a中有b没有的行,筛选出来直接插入b表就行了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)