Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1699 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Jointure et choix de valeurs par defaut (pour traduction)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Jointure et choix de valeurs par defaut (pour traduction)

n°2049830
massanu
Posté le 18-01-2011 à 11:07:29  profilanswer
 

Bonjour à tous
 
J'ai un petit soucis de requétage, je n'arrive pas à trouver la logique pour effectuer le traitement suivant :
 
TABLE_A
--------
idA
 
TABLE_B
--------
idA
idLanguage
Text
 
En gros je dispose d'une table de référence et d'une table de traduction de son contenu.
 
On me demande de faire ceci :
 
TABLE_A
--------
1
2
3
 
TABLE_B
--------
1  1  bonjour
1  2  Hello
1  3  Gutten Tag
2  1  Aurevoir
2  2  Bye
 
 
Je souhaite récupérer pour une langue donnée (imaginons l'Allemand) toutes les valeurs de traduction, et si une valeur n'a pas de traduction en Allemand, alors récupérer à la place la traduction Anglaise
 
Donc avoir comme résultat pour l'Allemand :
 
RESULTAT
------------
1 GuttenTag
2 Bye
 
Pour le Francais :
 
RESULTAT
------------
1 Bonjour
2 Aurevoir
 
Je ne demande pas spécialement le code mais une piste pour la logique :)
 
Merci d'avance :jap:


Message édité par massanu le 18-01-2011 à 11:07:58

---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
mood
Publicité
Posté le 18-01-2011 à 11:07:29  profilanswer
 

n°2049835
E-Nyar
I ain't no nice guy after all
Posté le 18-01-2011 à 11:19:47  profilanswer
 

y'a un problème dans ton énoncé... la logique voudrait qu'on ait 3 tables :
1 table pour les langues,
1 table pour les libellés à traduire  
1 table pour les traductions dispos...
 
La je vois pas l'utilité de la tableA...


---------------
Don't fuck me, I'm anonymous.
n°2049836
massanu
Posté le 18-01-2011 à 11:24:40  profilanswer
 

Oui bon j'ai simplifié le problème pour poser la question, mais dans la table A il y'a un paquet de colonnes pour filtrer les enregistrements. :)


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°2049839
Oliiii
Posté le 18-01-2011 à 11:33:14  profilanswer
 

Code :
  1. SELECT a.idA, ISNULL(b.Text,c.Text) [Text]
  2. FROM @Table_A a
  3.     LEFT JOIN @Table_B b ON a.idA = b.idA AND b.idLanguage = 3
  4.     LEFT JOIN @Table_B c ON a.idA = c.idA AND c.idLanguage = 2
  5. WHERE b.idA IS NOT NULL
  6.     OR c.idA IS NOT NULL


 
Il y a aussi moyen de faire avec un seul Join, mais c'est un peu capilotracté et spécifique a SQL Server.

n°2049841
Oliiii
Posté le 18-01-2011 à 11:40:17  profilanswer
 

Tout compte fait c'est pas si capilotracté que ca et pas spécialement spécifique a SQL Server :)

Code :
  1. SELECT a.idA, ISNULL(b.PrimaryLanguage,b.SecondaryLanguage) [Text]
  2. FROM @Table_A a
  3.     JOIN (
  4.     SELECT idA,
  5.         max(CASE WHEN idLanguage = 3 THEN Text End) PrimaryLanguage,
  6.         max(CASE WHEN idLanguage = 2 THEN Text End) SecondaryLanguage
  7.     FROM @Table_B
  8.     WHERE idLanguage IN (3,2)
  9.     GROUP BY idA
  10.     ) b ON b.idA = a.idA

n°2049844
massanu
Posté le 18-01-2011 à 11:48:47  profilanswer
 

Je test ca et je te donne mon retour :jap:


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Jointure et choix de valeurs par defaut (pour traduction)

 

Sujets relatifs
Traduction programmetraduction d'une textarea
Req sur 3 fichiers Excel - Comment s'utilise RechercheV en VBA svp ?Probleme : Tableau perd ses valeurs une fois sortie de la boucle
traduction du diagrame de classe UML en JAVA[CMS] Choix CMS
[Shell/Batch] Modification de valeurs non numériques dans une colonnesynchroniser des tables avec un trigger
Récuperer une liste de valeurs a partir d'une hierarchie en htmlformulaire choix a traiter duuuur
Plus de sujets relatifs à : Jointure et choix de valeurs par defaut (pour traduction)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR