A表中有N多字段存储的是B表中ID。
如何关联两表 写的SQL语句简单??????
总不能是一个A表中的字段 left join B码表一次吧。我这个A表中的字段大概有100项用到了B表的ID
有没有好的写法。
或者大家有没有好的建议也行
6 个解决方案
#1
兄弟你让这个设计表结构的人去屎。。。
冗余这么大,除了做报表显示我还真想不出别的应用。
如果是报表显示,能存储id进去,自然能够在存储的时候关联出 码表中的其他字段,让他总根本上改一下。
否则木有好办法。
冗余这么大,除了做报表显示我还真想不出别的应用。
如果是报表显示,能存储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 (+)
......
这样写?
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想不出什么好办法
还有数据表a
a里面的100多列存的都是字典id,现在想检索a,但是显示b里面的字典内容
除了不停地left join想不出什么好办法
#5
这个表神人设计的啊,不知道改纵表啊!非要横表?二的不行了!
#6
你可以写一个方法 方法的大概意思 传进A数据表字段,返回B码表查询后的值~ 这样可以不用写很多的where。但是要是你A表很大的话 这种查询会比较慢
#1
兄弟你让这个设计表结构的人去屎。。。
冗余这么大,除了做报表显示我还真想不出别的应用。
如果是报表显示,能存储id进去,自然能够在存储的时候关联出 码表中的其他字段,让他总根本上改一下。
否则木有好办法。
冗余这么大,除了做报表显示我还真想不出别的应用。
如果是报表显示,能存储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 (+)
......
这样写?
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想不出什么好办法
还有数据表a
a里面的100多列存的都是字典id,现在想检索a,但是显示b里面的字典内容
除了不停地left join想不出什么好办法
#5
这个表神人设计的啊,不知道改纵表啊!非要横表?二的不行了!
#6
你可以写一个方法 方法的大概意思 传进A数据表字段,返回B码表查询后的值~ 这样可以不用写很多的where。但是要是你A表很大的话 这种查询会比较慢