¿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

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.

2 respuestas más de otros expertos

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

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 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas