首页 > 数据库技术 > 详细

表关联中存在某字段多选表无法匹配——用数据库写一个方法

时间:2019-11-27 14:11:18      阅读:83      评论:0      收藏:0      [点我收藏+]

问题:有两个表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

表关联中存在某字段多选表无法匹配——用数据库写一个方法

原文:https://www.cnblogs.com/hplsharenote/p/11941801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!