Ik heb de volgende tabellen en query. Met de query wil ik alle weblog posts ophalen die in het jaar 2005 zijn gemaakt (weblog_posts.created kolom is een datetime). Ook wil ik zien door welke gebruiker elke post gemaakt is en tot in welke categorie elke post is ingedeeld:
Ik krijg van MySQL echter een dikke error terug: user error: Column: 'created' in where clause is ambiguous. Ik snap niet wat er nu mis is. Ik dacht dat het wellicht aan de ORDER BY lag, maar als ik de laatste twee regels (ORDER BY en LIMIT) van de query afhaal, houd ik dezelfde error. Wie kan mij helpen en vooral: uitleggen waarom het fout gaat?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| +----------------------------------------------+ | weblog_posts | +----+-------+------+---------+----------+-----+ | id | title | body | created | category | uid | +----+-------+------+---------+----------+-----+ +-------------------+ | weblog_categories | +----+--------------+ | id | name | +----+--------------+ +-------------+ | users | +-----+-------+ | uid | name | +-----+-------+ |
SQL:
1
2
3
4
5
6
7
| SELECT weblog_posts.*, users.name, weblog_categories.name AS category FROM weblog_posts, users, weblog_categories WHERE weblog_posts.uid = users.uid AND weblog_posts.category = weblog_categories.id AND YEAR(created) = 2005 ORDER BY weblog_posts.created LIMIT 0, 5 |
Ik krijg van MySQL echter een dikke error terug: user error: Column: 'created' in where clause is ambiguous. Ik snap niet wat er nu mis is. Ik dacht dat het wellicht aan de ORDER BY lag, maar als ik de laatste twee regels (ORDER BY en LIMIT) van de query afhaal, houd ik dezelfde error. Wie kan mij helpen en vooral: uitleggen waarom het fout gaat?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."