SELECT category.c_id,category.c_name,jobs.amount FROM qs_category as category
LEFT JOIN qs_jobs as jobs ON category.c_id=jobs.trade
WHERE jobs.addtime >= 1483200000 AND jobs.addtime <= 1498838400
Il s'agit d'une instruction de requête. La catégorie sur le tableau de gauche est la table de classification, et les emplois sur la table de droite sont la table des postes. Je souhaite compter le nombre de postes dans chaque catégorie.
Mais il y a un problème avec les résultats. Si une catégorie n'existe pas dans le champ catégorie de la table des emplois, c'est-à-dire que personne n'a ajouté de poste sous cette catégorie, alors cette catégorie ne sera pas affichée dans la requête. résultats.
Mais il va de soi que s'il y a une jointure à gauche, même s'il n'y a pas de données correspondantes dans le tableau de droite, les champs du tableau de gauche devraient quand même être affichés
Bien sûr, le tableau de droite dans lequel vous avez écrit la condition Where est introuvable. Lorsque le tableau de droite est vide, le champ de condition est également vide et il est filtré selon votre condition Where.
J'ai également rencontré cette situation. Elle a été filtrée par votre condition de localisation. La solution est d'ajouter les conditions écrites dans Where to On !
où doit filtrer l'ensemble de résultats après avoir connecté les tables, mais si la condition est fausse, les données du tableau de gauche seront renvoyées et le tableau de droite sera vide