合并两个结构相同的表,其中一个表具有优先级,并且按字段值排除

罗伯·格兰特

我有两个表,像这样:

t_Normal 
---------------------------------------------- 
FieldKey | FieldLabel | FieldValue 
---------------------------------------------- 
greet_hw | 你好,世界!| HELLOWORLD 
---------------------------------------------- 
greet_ws | 什么在摇动?| 令人震惊的
---------------------------------------------- 
greet_hh | 怎么样?HOWDOESITHANG 
---------------------------------------------- 

t_Override 
- -------------------------------------------------- -------- 
FieldKey | FieldLabel | FieldValue | FieldStatus 
------------------------------------------------- ----------- 
greet_ws | 什么在摇动?| 震撼力| 退休的
-------------------------------------------------- ---------- 
greet_s | up!?!?? | SUPELEVEN | 有效
------------------------------------------------- ----------- 
greet_hh | 怎么摆动呢?| 如何制作| 有效
------------------------------------------------- -----------

我可以加入他们的观点以获取此信息吗?

v_FieldMaster 
--------------------------------------------- 
FieldKey | FieldLabel | FieldValue     
--------------------------------------------- 
greet_hw | 你好,世界!| HELLOWORLD     
--------------------------------------------- 
greet_s | up!?!?? | SUPELEVEN      
--------------------------------------------- 
greet_hh | 怎么摆动呢?| HOWDOESITHANG 
---------------------------------------------

因此,将其加入以生成v_FieldMaster,如下所示:

  1. 包括任何完全不同的表行(其中基于FieldKey和FieldValue的组合进行比较)。例如,您好,世界!仅出现在t_Normal中,并且Sup!?!?? 仅出现在t_Override中。
  2. 任何基于“名称”和“值”匹配的行都将使用t_Override表的“标签”字段。例如,它如何摆动?而不是怎么挂?
  3. 两者(或只是t_Override)中出现但在t_Override中设置为Status = Retired的任何行都不会出现。例如,什么是“ shakin”?没有出现。

组合两个完全相同的结构化表而没有重复条目的最快方法是使我了解了一部分,但是我还没有弄清楚如何将该技术与t_Override.FieldStatus上的where子句相结合。任何建议都非常欢迎!

安农

进行完全联接,但仅选择没有替代或替代为“活动”的行。如果存在覆盖字段,则合并每个字段以优先处理覆盖值。

SELECT 
  COALESCE(o.FieldKey   ,n.FieldKey   ) AS FieldKey   ,
  COALESCE(o.FieldLabel ,n.FieldLabel ) AS FieldLabel ,
  COALESCE(o.FieldStatus,n.FieldStatus) AS FieldStatus
FROM t_Normal n
FULL JOIN t_Override o ON (o.FieldKey = n.FieldKey)
WHERE (o.FieldKey IS NULL OR o.FieldStatus = 'Active')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

合并两个可观察对象,其中一个优先级更高

来自分类Dev

SQL合并两个表,其中两个列具有相同的值

来自分类Dev

查找两个表,其中一个表具有冗余值

来自分类Dev

按优先级从两个表中选择

来自分类Dev

如何在两个单独的变量上联接两个表,其中一个变量具有相同的名称

来自分类Dev

具有两个优先级值的优先级队列

来自分类Dev

从联接两个表中获得唯一值,其中一个表可能具有特定列的重复值

来自分类Dev

如何在一个表中比较两个具有相同值但效果不同的字段?

来自分类Dev

连接两个SQL表,其中一个连接字段被多次使用

来自分类Dev

一个表中有两个具有相同ID的元组,并且这两行的其他一些列的值不同

来自分类Dev

插入到两个表中,其中一个表具有自动增量主键,并且同一键用作另一表中的外键

来自分类Dev

Hibernate:如何用其中一个没有ID的两个表联接?

来自分类Dev

SQL查询将具有相同列名的两个表合并到一个表中

来自分类Dev

查询以从两个表中选择相关数据,其中一个表在第三表中没有相关字段

来自分类Dev

具有两个优先级Python的优先级队列

来自分类Dev

具有两个优先级Python的优先级队列

来自分类Dev

创建对同一个表的两个外键引用,其中一个具有唯一的复合索引

来自分类Dev

将两个表合并为一个表,两个表具有不同的where子句

来自分类Dev

mysql - 如果其中一个具有另一个的外键,如何执行两个连接表的连接?

来自分类Dev

具有相同优先级的Prolog中缀运算符,一个xfy和另一个yfx具有两个顺序运算符

来自分类Dev

合并具有不同结构的两个表的结果

来自分类Dev

如何将具有相同架构的两个表合并为一个,使用 phpmyadmin

来自分类Dev

在两个SQL表上旋转数据表,其中一个具有5m +行?

来自分类Dev

如何合并具有相同结构的两个mysql表

来自分类Dev

r如果我有两个具有相同内容的独立组,如何删除其中一个?

来自分类Dev

为什么两个具有PHP_INT_MAX值的浮点变量是相同的,除非添加其中一个值大于1025的变量

来自分类Dev

等于两个结构,但想更改其中一个字段

来自分类Dev

查询以比较具有相同结构的两个表?

来自分类Dev

合并熊猫数据框,其中一个值介于两个值之间

Related 相关文章

  1. 1

    合并两个可观察对象,其中一个优先级更高

  2. 2

    SQL合并两个表,其中两个列具有相同的值

  3. 3

    查找两个表,其中一个表具有冗余值

  4. 4

    按优先级从两个表中选择

  5. 5

    如何在两个单独的变量上联接两个表,其中一个变量具有相同的名称

  6. 6

    具有两个优先级值的优先级队列

  7. 7

    从联接两个表中获得唯一值,其中一个表可能具有特定列的重复值

  8. 8

    如何在一个表中比较两个具有相同值但效果不同的字段?

  9. 9

    连接两个SQL表,其中一个连接字段被多次使用

  10. 10

    一个表中有两个具有相同ID的元组,并且这两行的其他一些列的值不同

  11. 11

    插入到两个表中,其中一个表具有自动增量主键,并且同一键用作另一表中的外键

  12. 12

    Hibernate:如何用其中一个没有ID的两个表联接?

  13. 13

    SQL查询将具有相同列名的两个表合并到一个表中

  14. 14

    查询以从两个表中选择相关数据,其中一个表在第三表中没有相关字段

  15. 15

    具有两个优先级Python的优先级队列

  16. 16

    具有两个优先级Python的优先级队列

  17. 17

    创建对同一个表的两个外键引用,其中一个具有唯一的复合索引

  18. 18

    将两个表合并为一个表,两个表具有不同的where子句

  19. 19

    mysql - 如果其中一个具有另一个的外键,如何执行两个连接表的连接?

  20. 20

    具有相同优先级的Prolog中缀运算符,一个xfy和另一个yfx具有两个顺序运算符

  21. 21

    合并具有不同结构的两个表的结果

  22. 22

    如何将具有相同架构的两个表合并为一个,使用 phpmyadmin

  23. 23

    在两个SQL表上旋转数据表,其中一个具有5m +行?

  24. 24

    如何合并具有相同结构的两个mysql表

  25. 25

    r如果我有两个具有相同内容的独立组,如何删除其中一个?

  26. 26

    为什么两个具有PHP_INT_MAX值的浮点变量是相同的,除非添加其中一个值大于1025的变量

  27. 27

    等于两个结构,但想更改其中一个字段

  28. 28

    查询以比较具有相同结构的两个表?

  29. 29

    合并熊猫数据框,其中一个值介于两个值之间

热门标签

归档