表关联中存在某字段多选表无法匹配——用数据库写一个方法
问题:有两个表A和B,B中的字段B006对应界面的问题来源栏位,该栏目对应多个选择,可以多选可以全选;现在输入问题追踪号,要求带出提交人
表结构:
SQL:直接用sql写:
select BG006 from B
left join A on CA007=BG004 and
CA001=BG003
where BG006=多选的值 and
CA002=\’问题追踪号\’
我感觉这个是因为系统设计的问题,这里的BG006的值是从CA002决定的,但是这两个同时作为条件值去查询其他条件,所以这边就存在一个BG006会是个变量,不确定的原因;
数据库写成方法:
将问题跟踪号作为赋值的变量:
使用declare 进行申明变量
CREATE FUNCTION GETSUBMITTER(
DECLARE @CA002 nvarchar(40)
)
返回值 创建临时表去承接变量BG006的值:
RETURNS @Result TABLE
(
BG006 NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @BG003 NVARCHAR(60)
–求出问题追踪号对应的问题来源值
SELECT @ BG003=CA003
FROM A
WHERE CA002=\’问题追踪号\’
insert @Result
select BG006
from B
where BG006=@ BG006
RETURN
END