2010-10-13 3 views
0

J'ai un modèle employé et un modèle Shift. Les employés ont de nombreux quarts de travail et les quarts de travail ont une date. Je veux être en mesure de sélectionner tous les employés disponibles pour une date donnée, c'est-à-dire sélectionner tous les employés pour lesquels aucun poste associé n'existe pour une date donnée.Rails/MYSQL - Trouver tout sans association

Je peux sélectionner tous les employés sans changement comme celui-ci:

SELECT users.* FROM users 
LEFT JOIN shifts ON users.id = shifts.user_id 
WHERE shifts.user_id IS NULL; 

Mais ce n'est pas date précise.

Merci.

Répondre

2
SELECT users.* 
FROM users 
LEFT JOIN shifts ON users.id = shifts.user_id 
    AND shifts.Date = @SomeDate 
WHERE shifts.user_id IS NULL; 
+0

Tous les changements existants ont une date et un user_id, donc cela retourne un ensemble vide. – user88

+0

@ user88: essayez ma requête mise à jour – RedFilter

+0

Mise à jour un est parfait. Merci. – user88