|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre chevronné
![]() Développeur Web Inscription : décembre 2004 Messages : 636 ![]() |
Bonjour,
ce que j'ai besoin de faire est un peu tordu, je vous passe les détails du pourquoi, c'est comme ça et il faut absolument que j'y arrive, et il faut que j'y arrive en SQL uniquement (pas le droit de traiter les résultats après dans le programme client). Disons que j'ai deux tables A et B, avec une clé étrangère de B vers A, plusieurs enregistrements de B peuvent correspondre à un enregistrement de A (0, n) : Code :
Au final, je dois avoir un résultat ayant les champs : Code :
ida, champa1, champa2, champa3, champb1 Il ne faut pas exclure les enregistrements de A n'ayant pas de correspondance dans B (donc j'imagine que c'est une jointure externe ?), et il ne faut avoir que la 1ere occurrence (dans l'ordre de la sélection) de champb1, tant pis s'il y a d'autres correspondances, elles doivent passer à la trappe (et ça je n'ai pas encore trouvé comment faire). Oui, je sais, c'est tordu ... Pour l'instant je fais ceci comme requête : Code :
Ce qu'il me faudrait (si ça existait), ça serait quelque chose du genre : Code :
Merci beaucoup à celui ou celle qui pourra me sauver sur ce coup-là ! (PS : c'est sous SQL Server 2005)
__________________
Ne cliquez pas sur ce lien |
||||||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 660 ![]() |
Bonjour,
Citation:
Citation:
LIMIT n'est pas SQL car il n'est pas ensembliste @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
|
|
#3 | ||
|
Membre chevronné
![]() Développeur Web Inscription : décembre 2004 Messages : 636 ![]() |
Citation:
Citation:
Comment arriver au même résultat par un autre moyen ?
__________________
Ne cliquez pas sur ce lien |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 660 ![]() |
Vous pouvez par exemple utiliser la fonction de fenêtrage ROW_NUMBER() :
Code :
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Développeur Web Inscription : décembre 2004 Messages : 636 ![]() |
Super, ça marche au poil !
![]() Merci mille fois !!! Je pense que je n'aurais pas trouvé tout seul, ou alors j'aurais galéré pendant des lustres. Comme dirait l'autre : ça m'enlève une fière chandelle du pied Encore merci !
__________________
Ne cliquez pas sur ce lien |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 660 ![]() |
Avec plaisir
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com