J'ai une assez longue requête SQL:MySQL - ET requête sur la table jointe
SELECT *, content.contentID AS thisID
FROM content
LEFT JOIN link_keywords ON content.contentID = link_keywords.contentID
LEFT JOIN link_countries ON content.contentID = link_countries.contentID
LEFT JOIN link_sections ON content.contentID = link_sections.contentID
WHERE status = '1' AND typeID = '1'
GROUP BY contentID
ORDER BY creationDate DESC
je reviens un ensemble de résultats, ce que je voudrais faire est afficher tous les résultats où sectionID
(qui vient de la link_sections join) est égal à 3 ou 4. En d'autres termes, tous les résultats qui se trouvent à la fois dans la section 3 et 4.
La requête suivante ne retourne rien, probablement parce qu'elle vérifie un seul ligne avec sectionID
égal à 3 et 4. Ce dont j'ai besoin est content.contentID
avec sectionID
égal à 3 et 4.
SELECT *, content.contentID AS thisID
FROM content
LEFT JOIN link_keywords ON content.contentID = link_keywords.contentID
LEFT JOIN link_countries ON content.contentID = link_countries.contentID
LEFT JOIN link_sections ON content.contentID = link_sections.contentID
WHERE status = '1' AND typeID = '1' AND (sectionID = '3' AND sectionID = '4')
GROUP BY contentID
ORDER BY creationDate DESC
* Ce que je dois tout est content.contentID avec sectionID égal à 3 et 4. * C'est impossible. Voulez-vous dire * deux * lignes qui ont le même content.contentID et ont des sectionsID égales à 3 et 4 respectivement? –
Bonjour. Oui, alors imaginez content.contentID est égal à 1 (c'est un enregistrement d'article unique). Cet article peut être dans plusieurs sections différentes. Donc, je ne veux que les enregistrements d'articles qui sont dans les sections 3 et 4. – Chris
Pouvez-vous poster votre schéma? –