php - Requête de jointure gauche de MySQL, lorsqu'un champ de la table de droite est vide, pourquoi le champ correspondant dans la table de gauche ne peut-il pas être trouvé ?
高洛峰
高洛峰 2017-06-05 11:08:00
0
2
455
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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(2)
刘奇

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal