unir - SQL: seleccione columna similar de dos tablas
unir dos consultas sql misma tabla (8)
Tengo una base de datos con dos tablas ( Table1
y Table2
). Ambos tienen una columna común [ColumnA]
que es un nvarchar
.
¿Cómo puedo seleccionar esta columna de ambas tablas y devolverla como una sola columna en mi conjunto de resultados?
Así que estoy buscando algo como:
ColumnA in Table1:
a
b
c
ColumnA in Table2:
d
e
f
Result set should be:
a
b
c
d
e
f
¿Te importa si obtienes dups o no?
UNION será más lento que UNION ALL porque UNION filtrará dups
En Oracle (al menos) hay UNION y UNION ALL, UNION ALL devolverá todos los resultados de ambos conjuntos, incluso si hay duplicados, mientras que UNION devolverá los distintos resultados de ambos conjuntos.
La respuesta de la unión es casi correcta, dependiendo de los valores superpuestos:
SELECT distinct ColumnA FROM Table1
UNION
SELECT distinct ColumnA FROM Table2
Si ''d'' aparece en la Tabla 1 o ''c'' aparece en la Tabla 2, tendría múltiples filas con ellos.
Puede usar una selección de unión:
Select columnA from table1 union select columnA from table2
Use el operador de UNIÓN :
SELECT ColumnA FROM Table1
UNION
SELECT ColumnA FROM Table2
Yo creo que es:
SELECT columna FROM table1 UNION SELECT columnb FROM table2;
SELECT Table1.*, Table2.d, Table2.e, Table2.f
FROM Table1 JOIN Table2 ON Table1.a = Table2.a
¿O estoy malentendiendo su pregunta?
Editar: Parece que sí.
SELECT ColumnA FROM Table1 UNION Select ColumnB FROM Table2 ORDER BY 1
Además, si sabe que el contenido de Table1 y Table2 NUNCA se superpondrá, puede usar UNION ALL en lugar de UNION en su lugar. Ahorra un poco de recursos de esa manera.
- Kevin Fairchild