J'essaie de lier deux tables en SQL mais elle ne fait pas ce que je veux. J'ai une table1 avec deux champs id, Total et autre Table2 qui contient 20 champs que je veux extraire seulement 5 ID, nom, adresse, ville, province. La requête que j'ai est la suivante:Requête de relation dans les enregistrements de répétition SQL
SELECT Table1.id, Table2.name, Table2.address, Table2.city, Table2.province, Table1.Total
FROM Table1 INNER JOIN Table2 ON
WHERE Table2.id Table1.Total Table1.id => = "& CLng (number1.Text) &
"AND Table1.Total <=" & CLng (number2.Text) &
"ORDER BY ASC Table2.name"
L'intention est de relier les deux tableaux, mais le problème est que la requête résultant a répété les résultats. Je pense que la raison en est, par exemple, que j'ai des données avec le même identifiant mais avec des noms différents et qu'il essaie de mettre les différentes données dans des rangées différentes en dépit d'avoir le même identifiant.
J'ai passé beaucoup de temps à chercher une solution mais je ne la trouve pas.
Votre syntaxe SQL est pas encore correcte. Vous semblez avoir extrait partiellement le SQL de la chaîne que vous construisez dans VB6, mais vous ne l'avez pas fait complètement. En l'état, la clause ON n'a aucune condition de jointure; la clause WHERE a un premier terme mal formé, et le résidu souffre de problèmes avec des guillemets etc. –
Si vous dites que la requête renvoie 20 enregistrements mais que vous voulez seulement 5, c'est ce qu'on appelle une requête n top. La façon d'y parvenir dépend du type db et vous n'avez pas spécifié le vôtre. En outre, sur StackOverflow, ajoutez 4 espaces au début de chaque ligne de code. Cela le fera apparaître comme du code et permettra aux gens de vous aider plus facilement. –