多表查询 A表:编号,供应商,货号B表:供应商编号,供应商名称因为A表的"供应商"列的数据只是B表的供应商名称的简写,所以要模糊查询 like要得到C表:A.编号,A.供应商,A.货号,B.供应商编号请问该怎么写?select A.编号,A.供应商,A.货号,B.供应商编号 from A,B where B.供应商名称 like %A.供应商%这样的报错:第 32 行: 'A' 附近有语法错误。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try select A.编号,A.供应商,A.货号,B.供应商编号 from A,B where B.供应商名称 like %A.供应商% 上面的错了try select A.编号,A.供应商,A.货号,B.供应商编号 from A,B where B.供应商名称 like '%A.供应商%' like '%A.供应商%'一看就不对 select A.编号,A.供应商,A.货号,B.供应商编号 from A,B where B.供应商名称 like '%'+A.供应商+'%' 换个提问的方法,假如我有个表T:包含字段:name,age,sex,我想找到名字包含"强"字的人来,用变量怎么查?declare @s char(20)set @s='强'select * from T where name like ??????这个like后面怎么填? xiaxianshuang(夏娴霜) 兄的方法可以编译通过,但还是得不到结果 供应商是字符型时B.供应商名称 like '%'+A.供应商+'%' 是其它类型时B.供应商名称 like '%'+RTRIM(CAST(A.供应商 AS VARCHAR(50))+'%' 例子就是:假如我有个表T:包含字段:name,age,sex,我想找到名字包含"强"字的人来,用变量怎么查?declare @s char(20)set @s='强'select * from T where name like ??????这个like后面怎么填? select A.编号,A.供应商,A.货号,B.供应商编号 into C from A,B where B.供应商名称 like '%'+A.供应商+'%' select A.编号,A.供应商,A.货号,B.供应商编号 into C from A,B declare @s char(20)你那个表是name 是什么类型,得为char才查得到 用char 你的@s 的内容长度得与定义的长度一样,declare @s char(2)set @s='强'可以查得到否则只能定义为nvarchar select A.编号,A.供应商,A.货号,B.供应商编号 from A,B where B.供应商名称 like '%'+A.供应商+'%' declare @tb1 table([编号] int,[供应商] nvarchar(30),[货号] varchar(30))declare @tb2 table([供应商编号] int,[供应商名称] nvarchar(30))insert into @tb1select 1,N'长城','333'unionselect 2,N'长长','444'union select 3,N'长城','555'insert into @tb2select 1,N'长城电器'unionselect 2,N'长长电器'select A.[编号],A.[供应商],A.[货号],B.[供应商编号] from @tb1 A,@tb2 B where B.[供应商名称] like '%'+a.[供应商]+'%'(3 行受影响)(2 行受影响)编号 供应商 货号 供应商编号----------- ------------------------------ ------------------------------ -----------1 长城 333 13 长城 555 12 长长 444 2(3 行受影响) 可以定義為VARCHAR類型也可以解決問題! 学习SQL 2005语法PIVOT问题 如何返回Select语句的第一条记录给变量? 关于INNER JOIN的问题 (讨论)SQL2000类集群解决方案 EXCELL数据导到sql的问题! 横向数据如何竖向显示? 一个关于NULL的问题 求高手解决的问题。 过来看看 用编程实现也行(DELPHI)! 数据库字典如何编写??最好有例子!! 求一存储过程.两表关联 这个过程有错?
try
select A.编号,A.供应商,A.货号,B.供应商编号 from A,B where B.供应商名称 like '%A.供应商%'
一看就不对
假如我有个表T:
包含字段:name,age,sex,
我想找到名字包含"强"字的人来,用变量怎么查?
declare @s char(20)
set @s='强'
select * from T where name like ??????
这个like后面怎么填?
B.供应商名称 like '%'+A.供应商+'%'
是其它类型时
B.供应商名称 like '%'+RTRIM(CAST(A.供应商 AS VARCHAR(50))+'%'
假如我有个表T:
包含字段:name,age,sex,
我想找到名字包含"强"字的人来,用变量怎么查?
declare @s char(20)
set @s='强'
select * from T where name like ??????
这个like后面怎么填?
declare @s char(2)
set @s='强'
可以查得到否则只能定义为nvarchar
declare @tb2 table([供应商编号] int,[供应商名称] nvarchar(30))insert into @tb1
select 1,N'长城','333'
union
select 2,N'长长','444'
union
select 3,N'长城','555'insert into @tb2
select 1,N'长城电器'
union
select 2,N'长长电器'select A.[编号],A.[供应商],A.[货号],B.[供应商编号]
from @tb1 A,@tb2 B
where B.[供应商名称] like '%'+a.[供应商]+'%'(3 行受影响)(2 行受影响)
编号 供应商 货号 供应商编号
----------- ------------------------------ ------------------------------ -----------
1 长城 333 1
3 长城 555 1
2 长长 444 2(3 行受影响)