Table 1 : 

A 
123
231
232
333

Table 2 :
1  | 2
123  981
231  999

OUTPUT Table: 

A
981
999
232
333

Quiero obtener la tabla de salida de las 2 tablas. Básicamente, quiero escribir una condición de caso que no pueda cumplir.

2
Rahul 16 jun. 2017 a las 16:28

3 respuestas

La mejor respuesta

Para dos valores las siguientes afirmaciones son equivalentes:

COALESCE(b.id, a.id)

O

case when t2.A is null then t1.A else t2.B end

O

ISNULL(b.id, a.id)

No tienen diferencia en el rendimiento. solo sintaxis

1
parfilko 16 jun. 2017 a las 15:35
select case when t2.A is null then t1.A else t2.B end
from table1 t1 
left join table2  t2
on t1.A=t2.A
0
Kapil 16 jun. 2017 a las 13:32

No necesita una expresión case aquí. Puede usar un left join y solo coalesce los resultados:

SELECT    COALESCE(b.id, a.id)
FROM      a
LEFT JOIN b ON a.id = b.id
2
Mureinik 16 jun. 2017 a las 13:32