mysql: sélectionne tous les éléments de la table A s'il n'existe pas dans la table B
Je vais avoir des problème avec la sélection de valeurs à partir d'une table (id, room_name) où il n'y a aucune événements correspondants dans la table b (room_id, room_start, room_finish)
ma requête ressemble suivantes
SELECT id, room_name DE chambres OÙ N'EXISTE PAS (SELECT * from room_events OÙ room_start ENTRE "1294727400" ET "1294729200' OU room_finish ENTRE "1294727400" ET "1294729200')
table contient plusieurs chambres, la table b contient la chambre des événements
J'obtiens aucun résultat dans le cas où il n'y a aucun évènement pour l'une des chambres dans les horodateurs. Je m'attends à ce que toutes les pièces ont PAS d'événements.
source d'informationauteur m1k3y3
Vous devez vous connecter pour publier un commentaire.
Ici est le prototype de ce que vous voulez faire:
Ici,
id
est supposé être le PK et FK dans les deux tables. Vous devez ajuster en conséquence. Notez également qu'il est important de comparer les PK et FK dans ce cas.Donc, ici, est de savoir comment votre requête devrait ressembler à:
Si vous le souhaitez, vous vérifiez les pièces de votre requête par leur exécution dans le client mysql. Par exemple, vous pouvez assurez-vous que si les conditions suivantes renvoie tous les enregistrements ou pas:
Si elle ne fonctionne pas, vous avez trouvé le coupable et d'agir en conséquence avec les autres parties 🙂
Vous manquent pour utiliser uniquement les événements de la chambre. C'est fait par qui correspond à l'id.