oracle如何实现同时查表中几列数据的视图

oracle如何实现同时查表中几列数据的视图,第1张

写where条件的时候这样写

where

家庭电话='用户输入的电话' or 工作电话='用户输入的电话' or 移动电话='用户输入的电话' or 其他电话='用户输入的电话'

前面如果还是其他条件的话,需要将这些使用括弧括起来。还输入了用户姓名的查询条件:

where

(家庭电话='用户输入的电话' or 工作电话='用户输入的电话' or 移动电话='用户输入的电话' or 其他电话='用户输入的电话') and 姓名='用户输入的姓名'

非要使用视图比较麻烦,如下:

create view v_t (姓名,电话,电话类型,地址)

as 

(

select 姓名,家庭电话,'家庭电话',地址 from 联系人表 

union all 

select 姓名,工作电话,'工作电话',地址 from 联系人表 

union all 

select 姓名,移动电话,'移动电话',地址 from 联系人表 

union all 

select 姓名,其他电话,'其他电话',地址 from 联系人表 

)

查询的时候就这样

select  from v_t where 电话='用户输入的电话'

还有一种

create view v_t (姓名,家庭电话,工作电话,移动电话,其他电话,查询条件,地址)

as 

(

select 姓名,家庭电话,工作电话,移动电话,其他电话,家庭电话||工作电话||移动电话||其他电话 as 查询条件,地址 from 联系人表 

)

查询的时候就这样

select  from v_t where instr(查询条件,'用户输入的电话')>0

你说的可能是数据库连接语句修改为连接oracle数据库,连接数据表的语句吧?

如果是这样,由于sql语言对于数据库是都一样的,可以不变,但是如果牵扯数据类型,可能需要进行适当修改。

create view 视图名 as select guid,bianhao from table1 union all

select guid,bianhao from table2 union all

select guid,bianhao from table3;

查询:

select from 视图名 where guid=xxxx

你这个查询是在user_tab_columns这个视图下面查询啊。 而且,你的where后面的限制条件,你看:or 用了这个,就是或者的意思。当然把:同一数据库下的SRC_A表中的列名REMAK类型也查出来了

其实,最简单的方法是在sqlplus下面,执行desc命令就可以得出来了,查任何表的列明和类型“

desc 表名,视图名,~~~等等

以上就是关于oracle如何实现同时查表中几列数据的视图全部的内容,包括:oracle如何实现同时查表中几列数据的视图、VB ORACLE 数据查询问题、oracle 创建一个传参查询视图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10174847.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存