我想通过获取field1和field2唯一的记录来查询表,同时选择field4具有某些值而非优先级为null的行。选择具有少量唯一列的记录,同时选择非空值优先于另一列优先
例如在原始表
field1 field2 field3 field4
1 B A (null)
1 B A 2
2 C A 3
2 D A (null)
3 D F 3
2 C A 3
而且是我想从输出查询来获取这样的:
field1 field2 field3 field4
1 B A 2
2 C A 3
2 D A (null)
3 D F 3
是否存在SQL表的joinning技术/过滤来实现这一目标的任何有效的方法?感谢
P/S - 为了避免混淆,具有不同FIELD1的目的和FIELD2仅是因为字段3可以具有所选择的行将基于那些行其field4中不优先
空不同的值eg
field1 field2 field3 field4
1 B A (null)
1 B C 2 <- this will be the chosen one
是field3也是键的一部分,或者你只是想选择恰好相应的field3的值吗?例如。如果附加行的值为2,D,X,1,会发生什么? – jeroenh
嗨,请参阅我刚添加的P/S解释。是的,对于'2,D,X,1',这将被选择而不是表中现有的'2,D,A,(null)',因为那些非空的行将优先。谢谢 – Tsubasa