pivotear pasar filas fila fechas ejemplo convertir con como columnas columna cambiar sql oracle join

filas - pasar de columna a fila sql server



¿Una mejor manera de devolver ''1'' si una combinación a la izquierda devuelve cualquier fila? (1)

use Existe con una subconsulta en su lugar ...

Select A.A_id, A.col_2, col_3, B.col_2, A.col_4, Case When Exists (Select * From C Where A_id = A.A_id) Then 1 Else 0 End As C_Exists From A Join B On (A.B_id = B.B_id) Where A.A_id = ? Order By Case When A.col_2 = ? Then 0 Else 1 End, col_3;

Tengo tres tablas, ''A'', ''B'' y ''C''. Tengo una consulta sobre ''A'' y ''B'', pero quiero agregar un campo que me diga si hay una o más (no me importa cuántas) ''C'' que tienen una clave externa para ''A''.

Esto es lo que tengo:

SELECT A.A_id, A.col_2, col_3, B.col_2, A.col_4 count(C.id) as C_count FROM A JOIN B ON (A.B_id = B.B_id) LEFT JOIN C ON (A.A_id = C.A_id) WHERE A.A_id = ? GROUP BY A.A_id, A.col_2, col_3, B.col_2, A.col_4 ORDER BY CASE WHEN A.col_2 = ? THEN 0 ELSE 1 END, col_3;

Parece un poco ineficiente, tanto porque tengo que enumerar todos los campos en el GROUP BY y también porque estoy contando donde todo lo que realmente quiero es si hay al menos un partido o no. ¿Se puede mejorar esto?