Bonjour,
j'ai un problème que pour avoir le résultat voulu en une seul requête.
Les deux table concernées
Notices
notice_id || tit1 || indexint
Notices_custom_value
notices_custom_champ || notices_custom_origine || notices_custom_integer
La table notice contient des ouvrages, indexint permet de les retrouver par thème (je ne dois piocher que dans une certaine plage d'ID .
Code :
SELECT DISTINCT n.notice_id, n.tit1, n.indexint FROM notices AS n WHERE n.indexint BETWEEN 5325 AND 5356 AND n.indexint="5339"(le thème recherché).
jusque là, pas de problème.
Mais je dois aussi pouvoir affiner ma recherche avec le public cible, le support
Que l'on retrouve dans la table notices_custom_value.
Et que l'on peut retrouver en fonction de la valeur de notices_custom_champ 5=public 2=support et le type se trouvent dans la colonne notices_custom_integer.
donc pour un ouvrage ayant un thème spécifique et un public donné, cela donnerait
Code :
SELECT DISTINCT n.notice_id, n.tit1, n.indexint FROM notices AS n INNER JOIN notices_custom_values ncv ON ncv.notices_custom_origine = n.notice_id WHERE n.opac_visible_bulletinage=1 AND n.indexint BETWEEN 5325 AND 5356 AND ncv.notices_custom_champ=5 AND ncv.notices_custom_integer=4 AND ncv.notices_custom_champ=2 AND ncv.notices_custom_integer=15
Mais bien entendu ça coince...
Si je ne suis pas assez clair, n'hésitez pas à me le dire =)
Merci d'avance pour ceux qui répondront