回答

收藏

将两个表中的数据合并到一个视图中

技术问答 技术问答 572 人阅读 | 0 人回复 | 2023-09-14

是否可以将两个表(具有相同的字段)中的数据捕获到一个视图中。基本上,因此视图将数据视为一个表。! E; K2 }) R! K3 c. }
                ) P" a" j0 r/ `
解决方案:
! d  X' V3 {' S0 I( z               
& n( h) k! c3 F8 ]0 Z5 j; |( I( A. ]  ?2 p  {! r

( i; T$ _8 ?3 ?( l, V3 U2 T; f) S                是的,使用UNION-
( v8 N! n. e/ }CREATE VIEW vw_combined AS
+ q1 s" y' P6 W. L, f: [   SELECT * FROM TABLE15 X$ R7 }* N1 X: W! @/ A- n7 r
   UNION ALL
% k+ ]! X2 i  f4 ?* F1 B& z   SELECT * FROM TABLE2
) q7 R% n( C; Q/ L  p…要求列数相同,并且每个位置的数据类型都匹配。
/ ~; _* |, f4 Q( J  X6 R0 }; `7 m..优选地,使用JOIN:
4 V- U( X* M% Q1 I, {8 o. E+ WCREATE VIEW vw_combined AS
, H/ N4 u: f% [$ x6 u) n   SELECT * ) l$ L5 p$ E3 G% _: ?* h# Y$ }
    FROM TABLE1 t14 V0 h- o7 O2 _  n1 p0 q( C
    JOIN TABLE2 t2 ON t2.col = t1.col
" c' }" G( Z7 o+ d) \4 q$ c2 l但是我要警告不要依赖于视图-如果未实现,它们只是准备好的SQL语句。没有性能优势,如果您基于另一个视图构建视图,则会对性能产生负面影响。此外,视图是脆弱的-
) G% i4 ^; L9 ~+ }( X7 s5 d它们可以更改,如果有问题,您只有在使用辅助视图时才能知道。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则