【问题标题】:Rails/MYSQL - Find all with no associationRails/MYSQL - 查找所有没有关联
【发布时间】:2010-10-13 17:10:13
【问题描述】:

我有一个 Employee 模型和一个 Shift 模型。员工有很多班次,班次有日期。

我希望能够选择在给定日期可用的所有员工,即选择在给定日期不存在关联班次的所有员工。

我可以像这样选择所有员工而无需轮班:

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

但这不是具体日期。

谢谢。

【问题讨论】:

    标签: mysql ruby-on-rails


    【解决方案1】:
    SELECT users.* 
    FROM users 
    LEFT JOIN shifts ON users.id = shifts.user_id 
        AND shifts.Date = @SomeDate
    WHERE shifts.user_id IS NULL; 
    

    【讨论】:

    • 所有现有的班次都有一个日期和一个 user_id,所以这会返回一个空集。
    • 更新的很完美。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-12-08
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多