Union haalt verkeerde veld op
Ik heb deze query....
Echter deze lijkt niet het juiste veld van 'human_abbreviation' op te halen?
Ik heb dus deze tables:
afkortingen
met abbreviation en description
en
materieel
met o.a abbreviation en human_abbreviation
Nu koppelt hij blijkbaar steeds abbreviation in de UNION in plaats van human_abbreviation. Hoe komt dat? Of zie ik iets over het hoofd? Sta me al een kwartier op de query te staren, maar ik kom er niet uit.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
SELECT abbreviation, description
FROM afkortingen
WHERE abbreviation LIKE 'm%'
UNION (
SELECT afkorting human_abbreviation, naam description
FROM materieel
WHERE human_abbreviation LIKE 'm%'
)
ORDER BY abbreviation ASC
FROM afkortingen
WHERE abbreviation LIKE 'm%'
UNION (
SELECT afkorting human_abbreviation, naam description
FROM materieel
WHERE human_abbreviation LIKE 'm%'
)
ORDER BY abbreviation ASC
Echter deze lijkt niet het juiste veld van 'human_abbreviation' op te halen?
Ik heb dus deze tables:
afkortingen
met abbreviation en description
en
materieel
met o.a abbreviation en human_abbreviation
Nu koppelt hij blijkbaar steeds abbreviation in de UNION in plaats van human_abbreviation. Hoe komt dat? Of zie ik iets over het hoofd? Sta me al een kwartier op de query te staren, maar ik kom er niet uit.
Gewijzigd op 17/06/2013 16:59:35 door - Ariën -
PHP hulp
17/11/2024 18:34:47Erwin H
17/06/2013 17:48:18Als het is wat ik denk dan is er niets mis, maar verwacht je het verkeerde. Bij een union worden altijd de kolomnamen van de eerste query gebruikt voor de hele resultset. Dat je in de tweede query dus een alias gebruikt wordt simpelweg genegeerd. Alle records, in je hele resultset zullen twee velden hebben 'abbreviation' en 'description'. Dat is hoe je ze in de eerste query hebt genoemd.
Aad B
17/06/2013 20:53:27Je kan eens testen door wat tekst op te nemen, bijvoorbeeld de tabelnamen.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT 'tabel afkortingen',abbreviation, description
FROM afkortingen
WHERE abbreviation LIKE 'm%'
UNION
SELECT 'tabel materieel', afkorting human_abbreviation, naam description
FROM materieel
WHERE human_abbreviation LIKE 'm%'
FROM afkortingen
WHERE abbreviation LIKE 'm%'
UNION
SELECT 'tabel materieel', afkorting human_abbreviation, naam description
FROM materieel
WHERE human_abbreviation LIKE 'm%'
Gewijzigd op 17/06/2013 21:13:03 door Aad B