求一张数据表N多字段去关联码表ID的SQL语句写法

时间:2022-01-17 15:13:35
A数据表  和  B码表
A表中有N多字段存储的是B表中ID。
如何关联两表 写的SQL语句简单??????
总不能是一个A表中的字段 left join B码表一次吧。我这个A表中的字段大概有100项用到了B表的ID
有没有好的写法。


或者大家有没有好的建议也行

6 个解决方案

#1


兄弟你让这个设计表结构的人去屎。。。

冗余这么大,除了做报表显示我还真想不出别的应用。

如果是报表显示,能存储id进去,自然能够在存储的时候关联出 码表中的其他字段,让他总根本上改一下。
否则木有好办法。

#2


CREATE、INSERT INTO、期待结果、找几个典型的数据,这样才容易让大伙帮你想方案。

#3


select * from A a,B b1,B b2,B b3,B b4 .....
where a.COLUMN1 = b1.id (+)
and a.COLUMN2 = b2.id (+)
and a.COLUMN3 = b3.id (+)
and a.COLUMN4 = b4.id (+)
......


这样写?

#4


他想说他有个数据字典表 b
还有数据表a
a里面的100多列存的都是字典id,现在想检索a,但是显示b里面的字典内容

除了不停地left join想不出什么好办法

#5


这个表神人设计的啊,不知道改纵表啊!非要横表?二的不行了!

#6


你可以写一个方法 方法的大概意思 传进A数据表字段,返回B码表查询后的值~ 这样可以不用写很多的where。但是要是你A表很大的话 这种查询会比较慢

#1


兄弟你让这个设计表结构的人去屎。。。

冗余这么大,除了做报表显示我还真想不出别的应用。

如果是报表显示,能存储id进去,自然能够在存储的时候关联出 码表中的其他字段,让他总根本上改一下。
否则木有好办法。

#2


CREATE、INSERT INTO、期待结果、找几个典型的数据,这样才容易让大伙帮你想方案。

#3


select * from A a,B b1,B b2,B b3,B b4 .....
where a.COLUMN1 = b1.id (+)
and a.COLUMN2 = b2.id (+)
and a.COLUMN3 = b3.id (+)
and a.COLUMN4 = b4.id (+)
......


这样写?

#4


他想说他有个数据字典表 b
还有数据表a
a里面的100多列存的都是字典id,现在想检索a,但是显示b里面的字典内容

除了不停地left join想不出什么好办法

#5


这个表神人设计的啊,不知道改纵表啊!非要横表?二的不行了!

#6


你可以写一个方法 方法的大概意思 传进A数据表字段,返回B码表查询后的值~ 这样可以不用写很多的where。但是要是你A表很大的话 这种查询会比较慢