一张表的多个字段对应另一张表的一个字段,如何关联查询

业务表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
求大神们帮忙,非常纠结
展开
 我来答
yc_aiolos
2014-01-18 · TA获得超过124个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:97.3万
展开全部
描述太乱。
业务表 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,怎么判断'品牌','类型'呢?
sunchongkai505
2014-01-17 · TA获得超过1005个赞
知道小有建树答主
回答量:959
采纳率:0%
帮助的人:361万
展开全部
check_flag这个字段在哪?把见表语句列一下吧。
追问
不好意思,check_flag就是上述描述中的typeid
追答
tel    bankid      brandid       typeiddictionaryID     dictionary_desription         value   value_description电话号码   银行    品牌    对账这个上面用英文的字段,下面用的中文,除了tel对应电话和banjid对应银行,其他不知道怎么对应的,还有你说的假如的那些在你给出的结果集种都没有对应,看的挺费劲的,没太明白你的意思,不过看结果断定这个肯定要用外连接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式