一张表的多个字段对应另一张表的一个字段,如何关联查询
业务表telbankidbrandidtypeid1200401字典功能表dictionaryIDdictionary_desriptionvaluevalue_desc...
业务表
tel bankid brandid typeid
1 2004 0 1
字典功能表
dictionaryID dictionary_desription value value_description
1001 银行名称 2004 工商
1001 银行名称 2005 建行
1002 品牌代码 0 全球通
1003 类型 0 营业厅
如图两张表业务表和功能字典表,现在想通过一条SQL语句查询业务表中bank_id,brand_id,check_flag对应的在字典表中对应的value_description,其中id值是和value对应的,但是value值并不是全部包含id的,有部分id在value中不存在的,value也是有重复的,通过前面的dictionary_id分类,假如bank_id对应的是dictionary_id=1027对应的value值,brand_id对应的dictionary_id 为1001,check_flag为1022,每个dictionary_id 对应的value不会重复,想要的结果是三个id在value中有的时候就显示对应的描述,如果没有就显示为null,假如一条数据bank_id对应的有描述为邮政,而brand_id和check_flag的id在value中不存在,那么显示就是
电话号码 银行 品牌 对账
2434545 邮政 null null
求大神们帮忙,非常纠结 展开
tel bankid brandid typeid
1 2004 0 1
字典功能表
dictionaryID dictionary_desription value value_description
1001 银行名称 2004 工商
1001 银行名称 2005 建行
1002 品牌代码 0 全球通
1003 类型 0 营业厅
如图两张表业务表和功能字典表,现在想通过一条SQL语句查询业务表中bank_id,brand_id,check_flag对应的在字典表中对应的value_description,其中id值是和value对应的,但是value值并不是全部包含id的,有部分id在value中不存在的,value也是有重复的,通过前面的dictionary_id分类,假如bank_id对应的是dictionary_id=1027对应的value值,brand_id对应的dictionary_id 为1001,check_flag为1022,每个dictionary_id 对应的value不会重复,想要的结果是三个id在value中有的时候就显示对应的描述,如果没有就显示为null,假如一条数据bank_id对应的有描述为邮政,而brand_id和check_flag的id在value中不存在,那么显示就是
电话号码 银行 品牌 对账
2434545 邮政 null null
求大神们帮忙,非常纠结 展开
2个回答
展开全部
描述太乱。
业务表 a,功能表 b
a.bankid=b.value ,b.value中有空值也有重复的值。下面就看不懂了。
你把a,b两个表的所有字段列出来。把要得到的结果列出来,就行。不用描述这么多,根本看不明白。
业务表 a,功能表 b
a.bankid=b.value ,b.value中有空值也有重复的值。下面就看不懂了。
你把a,b两个表的所有字段列出来。把要得到的结果列出来,就行。不用描述这么多,根本看不明白。
更多追问追答
追问
上面的就是两张表的所有字段,在功能表b中,是通过dictionaryID和value两个字段作为主键的,想要的结果就是显示四个字段
电话号码(tel)
银行名称(bankid对应的b表中的value的 value_description)
品牌(同银行名称)
类型( 同银行名称)
追答
a.brandid=b.dictionary 还是a.brandid=b.value?
其实就是要从dictionary_description中把'银行名称','品牌','类型'提出来,作为结果集的列名是吧?
但是从你给的数据中,全球通、营业厅对应的value值全是0,怎么判断'品牌','类型'呢?
展开全部
check_flag这个字段在哪?把见表语句列一下吧。
追问
不好意思,check_flag就是上述描述中的typeid
追答
tel bankid brandid typeiddictionaryID dictionary_desription value value_description电话号码 银行 品牌 对账这个上面用英文的字段,下面用的中文,除了tel对应电话和banjid对应银行,其他不知道怎么对应的,还有你说的假如的那些在你给出的结果集种都没有对应,看的挺费劲的,没太明白你的意思,不过看结果断定这个肯定要用外连接。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询