我写了如下: UPDATE daor SET daor.料号 = liaohao.liaoh FROM liaohao WHERE daor.品名 like '%liaohao.mingc%' and daor.料号 is null 想让daor.品名中包含liaohao.mingc的时候执行更新,这样写不认,只认liaohao.mingc这是个字符串,不是字段
我写了如下: UPDATE daor SET daor.料号 = liaohao.liaoh FROM liaohao WHERE charindex(liaohao.mingc,daor.品名)>0 and daor.料号 is null charindex(liaohao.mingc,daor.品名)>0
UPDATE daor SET daor.料号 = liaohao.liaoh FROM liaohao WHERE daor.品名 like '%'+liaohao.mingc+'%' and daor.料号 is null
UPDATE daor SET daor.料号 = 'liaohao.liaoh' --字符串要加单引号 FROM liaohao WHERE daor.品名 like '%liaohao.mingc%' and daor.料号 ='' 更新之前先查一下select * from liaohao WHERE daor.品名 like '%liaohao.mingc%' and daor.料号 =''; 看看是否是你想要更新的内容
IF OBJECT_ID('daor') IS NOT NULL DROP TABLE daor IF OBJECT_ID('liaohao') IS NOT NULL DROP TABLE liaohao CREATE TABLE daor(料号 VARCHAR(10), 品名 VARCHAR(10)) INSERT daor SELECT NULL, '1pingming2' CREATE TABLE liaohao(liaoh VARCHAR(10), mingc VARCHAR(10)) INSERT liaohao SELECT 'liaohao1', 'pingming' UNION ALL SELECT 'liaohao2', 'pingming' go --SQL: SELECT * FROM liaohao a, daor b WHERE b.品名 like '%'+ a.mingc +'%' and b.料号 is null --SQL: UPDATE b SET b.料号 = a.liaoh FROM liaohao a, daor b WHERE b.品名 like '%'+ a.mingc +'%' --注意:[liaohao.料号]会选择like成功的第一条记录的[liaohao.liaoh]来更新. and b.料号 is null GO SELECT * FROM daor /* 料号 品名 ---------- ---------- liaohao1 1pingming2(1 row(s) affected) */
UPDATE daor SET daor.料号 = liaohao.liaoh
FROM liaohao
WHERE charindex(liaohao.mingc,daor.品名)>0
and daor.料号 is null
charindex(liaohao.mingc,daor.品名)>0
FROM liaohao
WHERE daor.品名 like '%'+liaohao.mingc+'%'
and daor.料号 is null
FROM liaohao
WHERE daor.品名 like '%liaohao.mingc%'
and daor.料号 ='' 更新之前先查一下select * from liaohao
WHERE daor.品名 like '%liaohao.mingc%'
and daor.料号 ='';
看看是否是你想要更新的内容
IF OBJECT_ID('liaohao') IS NOT NULL DROP TABLE liaohao
CREATE TABLE daor(料号 VARCHAR(10), 品名 VARCHAR(10))
INSERT daor
SELECT NULL, '1pingming2'
CREATE TABLE liaohao(liaoh VARCHAR(10), mingc VARCHAR(10))
INSERT liaohao
SELECT 'liaohao1', 'pingming' UNION ALL
SELECT 'liaohao2', 'pingming'
go
--SQL:
SELECT *
FROM liaohao a, daor b
WHERE b.品名 like '%'+ a.mingc +'%'
and b.料号 is null
--SQL:
UPDATE b
SET b.料号 = a.liaoh
FROM liaohao a, daor b
WHERE b.品名 like '%'+ a.mingc +'%' --注意:[liaohao.料号]会选择like成功的第一条记录的[liaohao.liaoh]来更新.
and b.料号 is null
GO
SELECT * FROM daor
/*
料号 品名
---------- ----------
liaohao1 1pingming2(1 row(s) affected)
*/