J'ai une table customer qui stocke l'identifiant du client, l'email et la référence. Il y a une table supplémentaire customer_data qui stocke un historique des modifications apportées au client, c'est-à-dire que lorsqu'une modification est apportée, une nouvelle ligne est insérée.
Afin d'afficher les informations sur les clients dans un tableau, les deux tableaux doivent être reliés, mais seule la ligne la plus récente de customer_data doit être reliée au tableau customer.
La situation est un peu plus compliquée, car la requête est paginée et comporte donc une limite et un décalage.
Comment puis-je faire cela avec MySQL ? Je pense que je veux mettre un DISTINCT quelque part...
L'interrogation actuelle est la suivante
SELECT *, CONCAT(title,' ',forename,' ',surname) AS name
FROM customer c
INNER JOIN customer_data d on c.customer_id=d.customer_id
WHERE name LIKE '%Smith%' LIMIT 10, 20
En outre, ai-je raison de penser que je peux utiliser CONCAT avec LIKE de cette manière ?
(Je suis conscient que INNER JOIN n'est peut-être pas le bon type de JOIN à utiliser. En fait, je n'ai aucune idée de la différence entre les différents JOIN. Je vais me pencher sur la question maintenant).