Ik heb een probleem met een mysql query.
De query is als volgt:
Mijn tabel ziet er zo uit:
Nu zou deze query 3 regels terug moeten geven waarbij de regels met taal 'en' en subtaal 'en' er uit gelaten worden waar ook een str_id van is met 'en' en 'us' (id 1 en 9).
Dit stuk in de sql query lijkt gewoon genegeerd te worden "i.str_id!=t.str_id" want de query geeft gewoon alle rijden terug.
Heeft iemand een idee waarom dit zo zou kunnen zijn?
De query is als volgt:
SQL:
1
2
3
4
5
6
7
8
9
10
| ( SELECT DISTINCT i.* FROM string_inhoud i, (SELECT str_id FROM string_inhoud WHERE taal='en' AND subtaal='us') AS t WHERE i.taal='en' AND i.subtaal='en' AND i.str_id!=t.str_id ) UNION ( SELECT DISTINCT * FROM string_inhoud WHERE taal='en' AND subtaal='us' ) |
Mijn tabel ziet er zo uit:
id | str_id | taal | subtaal | string |
2 | welkom_text | en | en | test1 |
9 | test | en | en | test2 |
1 | welkom_titel | en | en | test3 |
3 | welkom_titel | en | us | test4 |
8 | test | en | us | test5 |
Nu zou deze query 3 regels terug moeten geven waarbij de regels met taal 'en' en subtaal 'en' er uit gelaten worden waar ook een str_id van is met 'en' en 'us' (id 1 en 9).
Dit stuk in de sql query lijkt gewoon genegeerd te worden "i.str_id!=t.str_id" want de query geeft gewoon alle rijden terug.
Heeft iemand een idee waarom dit zo zou kunnen zijn?