如果通过产品对应的品牌ID寻找对应的供应商

huayy 2010-01-19 09:41:50
一条供应商记录下面可能有多个品牌ID,数据结构为“101”或“101,102”或“101,102,103”不等
产品表中有一列为品牌ID,数据类型为整数。
如何通过已知的品牌ID去寻找对应的供应商,并在datagrid中显示

求方法,不能用like语句,貌似会出错,比如我有的品牌ID是21,有的品牌ID是121
不能用in语句,因为是两个不同的数据库
...全文
151 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
huayy 2010-01-19
  • 打赏
  • 举报
回复
 SQL = "select * from A_Company where charindex('," & str & ",',','+A_Brand+',') > 0"
Hamsic 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 huayy 的回复:]
嗯 我估计也能用in,可能是我语句不熟
我现在获得的是品牌ID数据格式是整数型的,比如100,或101

要到供应商表中去找对应的品牌ID,而供应商表中的品牌Id格式为 "100,101,102"

[/Quote]

不过这个问题 建议去SQL版问问 那边牛人比较多
Hamsic 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 huayy 的回复:]
嗯 我估计也能用in,可能是我语句不熟
我现在获得的是品牌ID数据格式是整数型的,比如100,或101

要到供应商表中去找对应的品牌ID,而供应商表中的品牌Id格式为 "100,101,102"

[/Quote]

数据库中有截取字符串的方法

 declare @s varchar(50)
set @s = '101,102,103'
print right(@s,len(@s)-charindex(',',@s))


huayy 2010-01-19
  • 打赏
  • 举报
回复
嗯 我估计也能用in,可能是我语句不熟
我现在获得的是品牌ID数据格式是整数型的,比如100,或101

要到供应商表中去找对应的品牌ID,而供应商表中的品牌Id格式为 "100,101,102"
YIDENGBONE 2010-01-19
  • 打赏
  • 举报
回复
多看看
Hamsic 2010-01-19
  • 打赏
  • 举报
回复
  select   A.*   from   aa   A   
inner join (select * from
openrowset('sqloledb',--声明数据引擎
'B';--数据库名
'misa';--登陆账号
'**',--登陆密码
'select * from B.dbo.bb'--执行语句
) as B
on A.a = B.b
where A.a = @value


应该是这样 ...
Hamsic 2010-01-19
  • 打赏
  • 举报
回复
ILOVE_ASPNET 2010-01-19
  • 打赏
  • 举报
回复
有点含糊。。
wuyq11 2010-01-19
  • 打赏
  • 举报
回复
分隔charindex,再查询
在datagrid中实现单元格合并
wuzhicheng5 2010-01-19
  • 打赏
  • 举报
回复
估摸着楼主的产品表存在数据库A,供应商表存在数据库B?

获取到品牌ID,放到数据库B中的供应商表中匹配品牌ID,可以使用in语句啊!

搞定。
mxc1225 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tchjl2007 的回复:]
- -  能用IN的
把2个数据库中的结果集当做一张表通过in查询

[/Quote]
同意!!
如果不行就传参!!
Hamsic 2010-01-19
  • 打赏
  • 举报
回复
- - 能用IN的
把2个数据库中的结果集当做一张表通过in查询

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧