selcteren op volgorde uit andere tabel
Ik heb een tabel medewerkers en een tabel lokaties.
Uit de tabel medewerkers heb ik een lijst geselecteerd en die wil ik op de volgorde uit de tabel lokaties weergeven.
Odnerstaande code geeft een foutmelding:
"SELECT
T1.lokatie_id,
T1.SUM(status)
FROM
medewerkers AS T1,
lokaties AS T2
WHERE
T1.Lokatie_id = T2.lokatie_id
ORDER BY
T2.lokatie_naam";
De foutmelding:
FUNCTION T1.SUM does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
Iemand een idee??
Uit de tabel medewerkers heb ik een lijst geselecteerd en die wil ik op de volgorde uit de tabel lokaties weergeven.
Odnerstaande code geeft een foutmelding:
"SELECT
T1.lokatie_id,
T1.SUM(status)
FROM
medewerkers AS T1,
lokaties AS T2
WHERE
T1.Lokatie_id = T2.lokatie_id
ORDER BY
T2.lokatie_naam";
De foutmelding:
FUNCTION T1.SUM does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
Iemand een idee??
1. SUM is een sql fuctie, daar kan je niet zomaar een alias aanvast plakken
2. als je 1 hebt opgelost dan gaat het alsnog fout, omdat er nog iets essentieels ontbreekt: GROUP BY
3. en om dan makkelijk bij de uitkomst van de SUM te komen geef je dat veld een betekenisvolle unieke alias mee
2. als je 1 hebt opgelost dan gaat het alsnog fout, omdat er nog iets essentieels ontbreekt: GROUP BY
3. en om dan makkelijk bij de uitkomst van de SUM te komen geef je dat veld een betekenisvolle unieke alias mee
Ik had eeerst dit:
"SELECT
lokatie_id,
SUM(status)
FROM
medewerkers where status='1'
GROUP BY
lokatie_id";
De GROUP BY heb ik toegevoegd.
De opmerking over SUM(status)begrijp ik niet helemaal? Wat moept ik veranderen??
"SELECT
T1.lokatie_id,
SUM(status)
FROM
medewerkers AS T1,
lokaties AS T2
WHERE
T1.Lokatie_id = T2.lokatie_id
ORDER BY
T2.lokatie_naam
GROUP BY
lokatie_id";
;
"SELECT
lokatie_id,
SUM(status)
FROM
medewerkers where status='1'
GROUP BY
lokatie_id";
De GROUP BY heb ik toegevoegd.
De opmerking over SUM(status)begrijp ik niet helemaal? Wat moept ik veranderen??
"SELECT
T1.lokatie_id,
SUM(status)
FROM
medewerkers AS T1,
lokaties AS T2
WHERE
T1.Lokatie_id = T2.lokatie_id
ORDER BY
T2.lokatie_naam
GROUP BY
lokatie_id";
;
Openingspost
T1.SUM(status)
heb je gewijzigd naar: SUM(status)
wat in principe ook nog neit correct is
Als je tabel / of tabelaliassen toepast dan dien je dat overal te doen.
T1.SUM(status)
heb je gewijzigd naar: SUM(status)
wat in principe ook nog neit correct is
Als je tabel / of tabelaliassen toepast dan dien je dat overal te doen.
Buiten dat is de volgorde verkeerd: GROUP BY staat altijd voor ORDER BY
Toevoeging op 09/04/2012 20:11:47:
Buiten dat is de volgorde verkeerd: GROUP BY staat altijd voor ORDER BY
Toevoeging op 09/04/2012 20:11:47:
Buiten dat is de volgorde verkeerd: GROUP BY staat altijd voor ORDER BY
status is nu ook ambigious. Oftewel, de SQL weet niet waar je die info vandaan haalt. Maar SUM() is ook een functie, dus die moet je niet aanroepen op tabel 1.




