SQL:
1
2
3
4
5
6
7
| SELECT e.id AS id, e.translation AS tA, d.translation AS tB, d.revision FROM English e LEFT JOIN `Dutch` d ON e.id = d.id WHERE e.ShowIt =1 group by d.id having d.revision=max(d.revision) ORDER BY d.id ASC , e.id ASC |
Zie ik heb die sql query... Dit haalt normaal de id, de engelse en de nederlandse vertaling uit een MySQL database (3.23.58). De ID's in de NL & EN tabel zijn exact dezelfde. De ShowIt variable betekend gewoon of ik die virtueel gedelete heb ja of nee.
Wat probeer ik dan? Ik probeer uit mijn databaseke de engelse text + de nederlandse vertaling op te halen die de hoogste 'revisie' heeft (maw de meest recente vertaling). Dit doe ik door te groeperen op id & dan per id de max revision te pakken...
Maar!
Ik heb bvb van id 1 (EN: 'New', NL: 'Nieuw') 4 revisies ('Nief', 'Nieuf', 'Neu', 'Nieuw') ... En die toont em niet... Wel bvb id 2, 3, 4, 5, 6 (dewelke maar 1 revisie hebben!).
Dus! er zit ergens een denkfoutje in mijn redenering... Zou iemand mij misschien kunnen duiden waar?