Ok, cela peut sembler un peu bizarre, mais ce que je dois faire est simple. J'ai une liste d'entreprises et chacune a une description. Le site est en 4 langues. Mon problème vient quand j'ai énuméré une entreprise en anglais, mais la personne qui est en charge de la traduction en français n'a toujours pas faire la traduction, j'ai donc simple:Changer le WHERE pour un select sur une seule ligne en fonction du contenu du champ
SELECT TOP(6)
company.name,
company.description,
company.address
WHERE
langid=1
ORDER BY
company.id DESC
La vraie question est plus complexe , mais je pense que ce sera plus facile avec celui-ci de comprendre le problème. Ce que je dois faire est, quand la description est vide dans langid 2 alors montrez-moi le langid 1 comme langid 1 est toujours le premier qui sera ajouté. Je ne veux pas montrer le champ de description vide. Imaginez la rangée 1, la rangée 2, la rangée 3 et la rangée 5 ont une description pour langid 2 mais pas rangée 4 et rangée 6. Je dois montrer langid 2 pour les rangées le contenant mais langid 1 pour les rangées sans description .
Je sais que je pourrais probablement faire un certain temps avec un champ @i incrémentant et insérant les résultats un par un dans une table temporaire, mais y a-t-il une meilleure façon de le faire?
Toutes les descriptions d'entreprise (dans n'importe quelle langue) sont-elles stockées dans la table d'entreprise? c.-à-d. il y a N dossiers d'entreprise pour une entreprise donnée? – edosoft
Tous les champs communs sont en table d'entreprise, les champs multilingues sont dans une autre table (une ligne par langue, donc en théorie pour chaque ligne dans la société il y a 5 lignes dans la table multilingue) ... encore ne peut pas travailler sur le projet , je vais l'essayer probablement demain .... – George