Bonjour,

Voici :

J'ai une table publication laquelle est liée à une autre table nommée activity. Un enregistrement activity ne peut exister par lui-même mais une publication peut très bien exister sans avoir d'activiy liée à elle. La table activity est liée à la table city.

Mon problème est donc le suivant :

Je désire afficher toutes les publications, qu'elles possèdent ou non des activty et si tel est le cas, je désire faire le lien entre la table activty et city.

La requête que j'ai formulé est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$sqlQuery = "SELECT publication.id, publication.title, publication.description, publication.gender, publication.age, publication.email, publication.tel1, publication.tel1Note, publication.tel2, publication.tel2Note, DATE(publication.creationDate) AS creationDate, activity.id AS activityId, activity.civicNo, activity.street, activity.idProvince, activity.idCountry, activity.postalCode, activity.day, TIME_FORMAT(activity.time, '%H:%i') AS time, activity.frequency, section.name".$_SESSION['siteLanguage']." AS sectionName, category.name".$_SESSION['siteLanguage']." AS categoryName, subCategory.name".$_SESSION['siteLanguage']." AS subCategoryName, city.name".$_SESSION['siteLanguage']." 
FROM section, 
category, 
subCategory, 
city, 
publication LEFT JOIN activity ON publication.id = activity.idPublication 
WHERE publication.delete = 'N' 
AND publication.deleteDate = '0000-00-00 00:00:00' 
AND publication.idSection = ".$this -> idSection." 
AND publication.idCategory = ".$this -> idCategory." 
AND publication.idSubCategory = ".$this -> idSubCategory." 
AND publication.language = '".$_SESSION['siteLanguage']."' 
AND section.id = publication.idSection 
AND category.id = publication.idCategory 
AND subCategory.id = publication.idSubcategory 
AND city.id = activity.idCity 
ORDER BY creationDate DESC LIMIT ".$this -> currentIndex.", ".$this -> publicationsPerPage."";
Malheureusement, elle ne me retourne que les enregistements publication possédant un enregistrement city correspondant à cause du city.id = activity.idCity (je souhaite voir tous les enregistrements publication, qu'il possède une activity ou non)

Comment faire donc pour dire à SQL de n'exécuter cette condition que si et seulement si une enregistrement publication possède un enregistrement city?

Merci d'avance