给你个试试吧,不过这样的效率比较低,而且不能保证结果完全正确,如果没有关联字段就只能模糊查询了。 假如:工作表1为a,工作表2为b;a的字段为id,name;b的为code,name;语句如下: select a.name,b.code,b.name as name2 from a,b where a.name like '%'+b.name+'%'; 我试了一下,结果倒是能出来
CREATE TABLE tb1([name] VARCHAR(20)) CREATE TABLE tb2(id VARCHAR(10),[name] VARCHAR(20)) INSERT dbo.tb1 SELECT '联想打印机' UNION ALL SELECT '施乐复印机' INSERT dbo.tb2 SELECT 0101, '打印机' UNION ALL SELECT 0102, '复印机' UNION ALL SELECT 020001, '轿车'SELECT * FROM dbo.tb1,dbo.tb2 WHERE CHARINDEX(dbo.tb2.[name],dbo.tb1.[name])>0DROP TABLE dbo.tb1,dbo.tb2 /* name id name -------------------- ---------- -------------------- 联想打印机 101 打印机 施乐复印机 102 复印机(2 行受影响)*/
假如:工作表1为a,工作表2为b;a的字段为id,name;b的为code,name;语句如下:
select a.name,b.code,b.name as name2 from a,b where a.name like '%'+b.name+'%';
我试了一下,结果倒是能出来
CREATE TABLE tb2(id VARCHAR(10),[name] VARCHAR(20))
INSERT dbo.tb1
SELECT '联想打印机' UNION ALL SELECT '施乐复印机'
INSERT dbo.tb2
SELECT 0101, '打印机' UNION ALL SELECT 0102, '复印机' UNION ALL SELECT 020001, '轿车'SELECT * FROM dbo.tb1,dbo.tb2 WHERE CHARINDEX(dbo.tb2.[name],dbo.tb1.[name])>0DROP TABLE dbo.tb1,dbo.tb2
/*
name id name
-------------------- ---------- --------------------
联想打印机 101 打印机
施乐复印机 102 复印机(2 行受影响)*/