query di MS Access CrossTab - su 3 tavoli
-
26-09-2019 - |
Domanda
Non ho i seguenti 3 tabelle:
1) Dolcezza Tabella
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) Il nome di frutta Tabella
FruitIndex FruitName
1 Apple
2 Orange
3 Peaches
3) Paese Nome tabella
CountryIndex CountryName
1 UnitedStates
2 Canada
3 Mexico
Sto cercando di eseguire una query a campi incrociati SQL per finire con:
Fruit\Country UnitedStates Canada Mexico
Apple 10 20 400
Orange 50 123 1
Peaches 49 40 2
La parte difficile è quello di etichettare le righe / colonne con i nomi rilevanti dalle tabelle nome.
posso utilizzare MS Access per progettare 2 domande,
- creare la unisce la tabella nomi della frutta / di campagna con la tabella di Sweetness
- eseguire query a campi incrociati
Tuttavia Sto avendo difficoltà a fare questo in una singola query. Ho tentato di nidificazione SQL 1 ° della query nella seconda, ma non sembra funzionare.
Purtroppo, i miei bisogni soluzione da essere del tutto SQL, in quanto è una query SQL incorporato (non può contare su Progettazione query in MS Access, ecc.).
Qualsiasi aiuto molto apprezzato.
Prembo.
Soluzione
Come su:
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;
Altri suggerimenti
Non mi piace fare affidamento su un posto esterno e presentarla come la mia risposta, ma questo è un argomento piuttosto ripida e non riesco a fare giustizia. Quindi vi suggerisco di guardare a questo articolo .