¿Cómo puedoPoner los datos que me arroja 2 subconsultas en 2 columnas?

Tengo un base de datos de vehículos, y quiero saber los vehículos que tengan menos de 10 años de antigüedad y mayor de 10 años de antigüedad, pero quiero que se vean en 2 columnas diferentes.

Esta consulta es para los de mayor de 10 años de antigüedad:

SELECT "Mayores de 10 años",Codigo
FROM (
SELECT Codigo, YEAR(Date())-Año AS Antiguedad
FROM Vehiculo)
WHERE Antiguedad>10

Y esta en la de menor

SELECT "Mayores de 10 años",Codigo
FROM (
SELECT Codigo, YEAR(Date())-Año AS Antiguedad
FROM Vehiculo)
WHERE Antiguedad<10

Como se hace para que se vea la información de cana una en 2 columnas:

Mayores de 10 años | Menores de 10 años

Lo estoy haciendo en access 2016

3 Respuestas

Respuesta

Debes usar la cláusula PIVOT, no se si existe en access, si en t-sql

https://msdn.microsoft.com/en-us/library/ms177410(v=sql.105).aspx 

Respuesta
1

Así a lo rápido, se me ocurre que uses esta SQL para crear la consulta (puedes eliminar las dos anteriores si no las necesitas para otra cosa):

SELECT Codigo AS "Mayores de 10 años", Null As "Menores de 10 años"
FROM Vehiculo
WHERE (YEAR(Date())-Año)>10
UNION ALL
SELECT Null AS "Mayores de 10 años", Codigo As "Menores de 10 años"
FROM Vehiculo
WHERE (YEAR(Date())-Año)<10

Un saludo


Si quieres los nombres de los encabezados sin las comillas:

SELECT Codigo AS [Mayores de 10 años], Null As [Menores de 10 años]
FROM Vehiculo
WHERE (YEAR(Date())-Año)>10
UNION ALL
SELECT Null AS [Mayores de 10 años], Codigo As [Menores de 10 años]
FROM Vehiculo
WHERE (YEAR(Date())-Año)<10
Respuesta

En access es relativamente fácil, partiendo de la base de que hay varias maneras de hacerlo, se me ocurre hacer una consulta para los menores y otra para los mayores a diez años y juntarlos en una tercera consulta usando el Id de los registros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas