MS Access consulta de referencias cruzadas - a través de 3 mesas
-
26-09-2019 - |
Pregunta
Tengo las siguientes 3 tablas:
1) Dulzura Tabla
FruitIndex CountryIndex Sweetness
1 1 10
1 2 20
1 3 400
2 1 50
2 2 123
2 3 1
3 1 49
3 2 40
3 3 2
2) Nombre fruta de mesa
FruitIndex FruitName
1 Apple
2 Orange
3 Peaches
3) País Nombre de la tabla
CountryIndex CountryName
1 UnitedStates
2 Canada
3 Mexico
Estoy tratando de realizar una consulta de referencias cruzadas SQL para terminar con:
Fruit\Country UnitedStates Canada Mexico
Apple 10 20 400
Orange 50 123 1
Peaches 49 40 2
La parte difícil es etiquetar las filas / columnas con los nombres correspondientes de las tablas de nombres.
Puedo usar MS Access para diseñar 2 consultas,
- crear la une a la mesa de nombres de frutas / país con la tabla de Dulzura
- realizar la consulta de referencias cruzadas
Sin embargo estoy teniendo problemas para realizar esto en una sola consulta. He intentado anidar SQL el primero de consulta en el segundo, pero no parece funcionar.
Por desgracia, mis necesidades solución que se va ser totalmente SQL, ya que es una consulta SQL incrustado (no se puede confiar en diseñador de consultas en MS Access, etc.).
Cualquier ayuda muy apreciada.
Prembo.
Solución
¿Qué hay de:
TRANSFORM First(Sweetness.Sweetness) AS FirstOfSweetness
SELECT Fruit.FruitName
FROM (Sweetness
INNER JOIN Fruit
ON Sweetness.FruitIndex = Fruit.FruitIndex)
INNER JOIN Country
ON Sweetness.CountryIndex = Country.CountryIndex
GROUP BY Fruit.FruitName
PIVOT Country.CountryName;
Otros consejos
No me gusta depender de un puesto de trabajo fuera y presentarlo como mi respuesta, pero este es un tema bastante empinada y no puede hacer justicia. Así que sugiero que busque en este artículo .