Bekentenis: al eerder topic over geplaatst, niet op juiste plek, met verkeerde titel en erg onduidelijk.
http://gathering.tweakers.net/forum/list_messages/1176910
Het beoogde resultaat is een selectie waarbij waarde 1 [Land] uniek is en waarde 2 [Aantal] de grootste waarde heeft
Tabel1
Het beoogde resultaat is dan: alleen de grootste waarde per land:
Momenteel krijg ik het resultaat slechts met gebruikmaking van twee queries:
Query1
SELECT [Land], MAX([Aantal]) AS [Grootste]
FROM [Tabel1]
GROUP BY [Land]
Query2
SELECT [Query1].[Land], [Tabel1].[Religie], [Tabel1].[Aantal]
FROM [Query1] LEFT JOIN [Tabel1] ON [Query1].[Land] = [Tabel1].[Land]
WHERE [Query1].[Grootste] = [Tabel1].[Aantal]
GROUP BY [Query1].[Land], [Tabel1].[Religie], [Tabel1].[Aantal]
Ik streef ernaar om dit in 1 query te krijgen, mede omdat ik deze query dynamisch in visual basic wil opbouwen en ik met twee queries een beetje in de knoop kom.
Dit lijkt een goede SQL oplossing met een subquery, maar wordt niet gegeten door Access.
SELECT Tabel1.Religie, Tabel1.Land, Tabel1.Aantal
FROM Tabel1, [SELECT Land, MAX(Aantal) AS Grootste FROM Tabel1 GROUP BY Land] AS Results
WHERE Tabel1.Land=Results.Land AND Tabel1.Aantal=Results.Grootste;
http://gathering.tweakers.net/forum/list_messages/1176910
Het beoogde resultaat is een selectie waarbij waarde 1 [Land] uniek is en waarde 2 [Aantal] de grootste waarde heeft
Tabel1
| PK | Land | Religie | Aantal |
| 1 | NL | protestant | 10 |
| 2 | NL | katholiek | 20 |
| 3 | NL | moslim | 5 |
| 4 | Irak | moslim | 98 |
| 5 | Begie | natuurgodsdienst | 2 |
| 6 | Begie | katholiek | 40 |
Het beoogde resultaat is dan: alleen de grootste waarde per land:
| 2 | NL | katholiek |
| 4 | Irak | moslim |
| 6 | Begie | katholiek |
Momenteel krijg ik het resultaat slechts met gebruikmaking van twee queries:
Query1
SELECT [Land], MAX([Aantal]) AS [Grootste]
FROM [Tabel1]
GROUP BY [Land]
Query2
SELECT [Query1].[Land], [Tabel1].[Religie], [Tabel1].[Aantal]
FROM [Query1] LEFT JOIN [Tabel1] ON [Query1].[Land] = [Tabel1].[Land]
WHERE [Query1].[Grootste] = [Tabel1].[Aantal]
GROUP BY [Query1].[Land], [Tabel1].[Religie], [Tabel1].[Aantal]
Ik streef ernaar om dit in 1 query te krijgen, mede omdat ik deze query dynamisch in visual basic wil opbouwen en ik met twee queries een beetje in de knoop kom.
Dit lijkt een goede SQL oplossing met een subquery, maar wordt niet gegeten door Access.
SELECT Tabel1.Religie, Tabel1.Land, Tabel1.Aantal
FROM Tabel1, [SELECT Land, MAX(Aantal) AS Grootste FROM Tabel1 GROUP BY Land] AS Results
WHERE Tabel1.Land=Results.Land AND Tabel1.Aantal=Results.Grootste;