请大家帮帮忙看看这个问题,在线等待。

时间:2022-09-05 21:14:08
一个广东省通讯录数据库A里面有三个(b、c、d)地区通讯表,其中每个通讯录中有三人,每个人都有自己的电话号码资料等等。
现在要在程序中查找一个人,但是又不知道它在哪个地区,那么就要建立一个循环,一个表一个表的查,
我想知道点样表达,例如查找b地区中的e人的资料 ,但是程序用户又不知道e是在b区的,它只能根据名字e来查它的电话号码,所以就要写一个循环,请大家帮帮忙

5 个解决方案

#1


为什么不放在一个表里呢。如果确实必须分开的话,那么可以用视图来

#2


因为我不想破坏原来的数据库,只是想在程序中查找数据库,所以就要建立循环,但是我是sql菜鸟,不知道语句应该怎么写

#3


create view viewname 
as 
select * from b
union all 
select * from c
union all
select * from d
go 

select * from viewname where telephoneno='0571-11111111'

#4


这样以后要引用到三表的话,直接把这个视图当一个表来用。
如果三个表很大的话,也可以
if exists(select * from rsda where xm='刘建军')
   begin
     select * from rsda where xm='刘建军'
     return  
   end
if exists(select * from kl where yh='刘建军') 
   begin
     select * from kl where yh='刘建军'
     return  
   end



#5


太谢谢你了。!◎#

#1


为什么不放在一个表里呢。如果确实必须分开的话,那么可以用视图来

#2


因为我不想破坏原来的数据库,只是想在程序中查找数据库,所以就要建立循环,但是我是sql菜鸟,不知道语句应该怎么写

#3


create view viewname 
as 
select * from b
union all 
select * from c
union all
select * from d
go 

select * from viewname where telephoneno='0571-11111111'

#4


这样以后要引用到三表的话,直接把这个视图当一个表来用。
如果三个表很大的话,也可以
if exists(select * from rsda where xm='刘建军')
   begin
     select * from rsda where xm='刘建军'
     return  
   end
if exists(select * from kl where yh='刘建军') 
   begin
     select * from kl where yh='刘建军'
     return  
   end



#5


太谢谢你了。!◎#