Hola,
Ik zit even te barsten over het volgende. Ik heb een tabel met producten, en een tabel die bijhoudt of de producten ooit een keer gesynct zijn. Als een product gesynct is komt er een record met die SKU in de synced tabel. Zo niet, dan is er geen record in de synced tabel. Ik wil namelijk alleen de producten ophalen die nog niet zijn gesynct.
De volgende code had ik geproduceerd..
Ik had op internet gelezen dat een right join het mogelijk maakt om tabellen te joinen die niet per se al aan elkaar verbonden zijn zoals in dit geval. Ik heb ook een veld "synced" (boolean) in de sync tabel. Eigenlijk overbodig omdat als die row bestaat er per definitie gesynct is, maar dacht het hiermee makkelijker te maken. Niet dus
Heb ook geprobeerd om een inner join of left join te doen, maar ik krijg bij alle 3 de versies geen resultaat terug.. Volgens mij zie ik iets over het hoofd, maar ben nog een beetje aan het leren hoe joins werken. Weet iemand mij misschien te vertellen wat ik fout doe?
Ik zit even te barsten over het volgende. Ik heb een tabel met producten, en een tabel die bijhoudt of de producten ooit een keer gesynct zijn. Als een product gesynct is komt er een record met die SKU in de synced tabel. Zo niet, dan is er geen record in de synced tabel. Ik wil namelijk alleen de producten ophalen die nog niet zijn gesynct.
De volgende code had ik geproduceerd..
SQL:
1
2
3
4
5
6
7
8
9
10
| SELECT i.* FROM products as i RIGHT JOIN synced as s ON s.sku = i.sku WHERE s.synced = 0 |
Ik had op internet gelezen dat een right join het mogelijk maakt om tabellen te joinen die niet per se al aan elkaar verbonden zijn zoals in dit geval. Ik heb ook een veld "synced" (boolean) in de sync tabel. Eigenlijk overbodig omdat als die row bestaat er per definitie gesynct is, maar dacht het hiermee makkelijker te maken. Niet dus
Heb ook geprobeerd om een inner join of left join te doen, maar ik krijg bij alle 3 de versies geen resultaat terug.. Volgens mij zie ik iets over het hoofd, maar ben nog een beetje aan het leren hoe joins werken. Weet iemand mij misschien te vertellen wat ik fout doe?