Ik ben bezig om een query te maken die uit meerdere tabellen gegevens haalt.
Eerst waren de joins alleen gemaakt door de WHERE clausule, maar nu moet er een LEFT JOIN bij.
En dan krijg ik de volgende fout: nativecode=1054 ** Unknown column 'VS.default' in 'field list'
Maar als ik vervolgens in de WHERE clausule de tabellen 'db_afd_attributes' en 'db_afd_entities' omdraai zodat db_afd_attributes als laatste genoemd is, dan krijg ik deze fout niet.
Als ik op deze fout ga googlen, dan krijg je heel veel resultaten van mensen waarbij er een spatie achter of voor de kolom staat. Dit is bij mij niet het geval, ik heb die kolom al 5 keer verwijderd en opnieuw aangemaakt door de kolomnaam zelf te typen, maar hij blijft de fout geven en ik denk niet dat dat het probleem is omdat ie het met de omgedraaide tabellen wel doet.
Het enige resultaat waarbij het probleem hetzelfde is, is deze: http://bugs.mysql.com/bug.php?id=1689 . Daar wordt gemeld dat het restarten van de server het probleem oplost, maar dat is bij mij dus niet het geval.
Nu doet de query het wel goed met de omgedraaide tabellen, maar ik heb net nog een LEFT JOIN toegevoegd en dan krijg ik dezelfde fout, alleen dan op een andere kolom.
Ik gebruik MySQL 5.0.27
Eerst waren de joins alleen gemaakt door de WHERE clausule, maar nu moet er een LEFT JOIN bij.
En dan krijg ik de volgende fout: nativecode=1054 ** Unknown column 'VS.default' in 'field list'
Maar als ik vervolgens in de WHERE clausule de tabellen 'db_afd_attributes' en 'db_afd_entities' omdraai zodat db_afd_attributes als laatste genoemd is, dan krijg ik deze fout niet.
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| SELECT A.`viewAttributeID`, A.`viewEntityID`, A.`mandatory`, A.`hasSubset`, A.`displayType`, CONCAT(AE.`code`, '_', AA.`code`) AS `code`, AA.`format`, AA.`datatype`, AA.`name`, AA.`description`, AA.`label` AS `codeListName`, CL.`extern` FROM `db_views_attributes` A, `db_views` V, `db_afd_attributes` AA, `db_afd_entities` AE LEFT JOIN `db_afd_codelist` CL ON CL.`label`=AA.`label` AND CL.`codeValue` IS NULL WHERE A.`viewID`=V.`viewID` AND AA.`attributeID`=A.`attributeID` AND AE.`entityID`=AA.`entityID` AND A.`viewAttributeID`='5' AND V.`viewID`='1' AND V.`companyID`='1' LIMIT 1 |
Als ik op deze fout ga googlen, dan krijg je heel veel resultaten van mensen waarbij er een spatie achter of voor de kolom staat. Dit is bij mij niet het geval, ik heb die kolom al 5 keer verwijderd en opnieuw aangemaakt door de kolomnaam zelf te typen, maar hij blijft de fout geven en ik denk niet dat dat het probleem is omdat ie het met de omgedraaide tabellen wel doet.
Het enige resultaat waarbij het probleem hetzelfde is, is deze: http://bugs.mysql.com/bug.php?id=1689 . Daar wordt gemeld dat het restarten van de server het probleem oplost, maar dat is bij mij dus niet het geval.
Nu doet de query het wel goed met de omgedraaide tabellen, maar ik heb net nog een LEFT JOIN toegevoegd en dan krijg ik dezelfde fout, alleen dan op een andere kolom.
Ik gebruik MySQL 5.0.27