首页 新闻 赞助 找找看

数据库查询语句的实现

0
悬赏园豆:10 [已解决问题] 解决于 2016-12-13 08:33

系统有A,B,C,D 四张表,有一个字段都叫 RowGuid.和Name

现在只知道RowGuid=ef3198ad-b026-4678-8721-aa7f4cda5eb3 不知道这个RowGuid 是哪一张表的。请问这样的查询怎么查询到Name的值。

页面展示的是 Rowguid 和name 从这四张表联合的结果。

目前的思路是,在查询的时候多加个字段来确定这条数据来自哪里

比如 select rowguid,name,'a' from A

  union

  select rowguid,name,'b' from B

现在想问有没有好的其他方法//// 

问题补充:

里面的‘a’ 就是一个表的标识

目前这种方法可以解决现在的问题

Hadoop2的主页 Hadoop2 | 菜鸟二级 | 园豆:203
提问于:2016-12-06 14:01
< >
分享
最佳答案
1

我觉得这样还不如写成

select *,'a' from a where rowguid=''

union all

...

这样感觉效率上要好点(不确定,你可以看下两种的执行计划)

收获园豆:10
Daniel Cai | 专家六级 |园豆:10424 | 2016-12-06 14:13
其他回答(2)
0

你不知道数据在哪张表里,那肯定要全查,你就根据RowGuid去表里查,查到了-return,查不到-select下一张表。

让我发会呆 | 园豆:2929 (老鸟四级) | 2016-12-06 14:07
0

使用if else 吧,这样,每次将查询限制在一个表中,从概率上来说,将提高50%的查询效率

悦光阴 | 园豆:2251 (老鸟四级) | 2016-12-07 10:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册