Bonjour à tous,
là je butte sur une requête à priori simple..
Ma table se présente sous cette forme, avec trois colonnes:
J'aimerai récupérer tous les textes non traduits dans une langue donnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE `pages_contenus_textes` ( `id_page_contenu` int(11) NOT NULL, `id_langue` smallint(6) NOT NULL, `texte` text COLLATE utf8_bin NOT NULL );
C'est à dire chercher quel id_page_contenu n'est pas traduit en langue 305 par exemple.
Je peux avoir les entrées:
1,108,"mon texte en français"
1,202,"mi texto en español"
2,108,"deuxième texte FR",
2,202,"segundo texto Es",
2,305,"Mi texto italiano IT,
Comment ressortir l'id_page_contenu=1 seulement?
Ce genre de requête ne fonctionne pas:
Le group_concat retourne une valeur string je suppose et le NOT IN ne le comprend pas comme des entiers séparés par des virgules...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT t.* FROM `pages_contenus_textes` t WHERE id_page_contenu NOT IN ( select GROUP_CONCAT(id_page_contenu) from `pages_contenus_textes` WHERE id_langue=305 ) GROUP BY id_page_contenu ORDER BY id_page_contenu ASC
Il doit y avoir une solution plus simple... comment feriez-vous?
Merci d'avance!
Clem
Partager