当没有 children 时,关联 parent-children 中的结果为空
Empty result in association parent-children when there are not children
我有以下架构:
小时table:这个table有"constant"数据,它永远不会改变,因为只会存储schedule-able小时
hour (int)
----
8
9
10
约会table
hour (int) | date (text)
--------------------------
10 | 25/08/2015
在我的应用程序中,我只想显示可用时间以根据 hour-date 过滤器设置新约会。例如,我可以说这几天:
25/08/2015
:可用时间为 8
和 9
,因为 10
已被占用
26/08/2015
:可用时间为 8
、9
和 10
,因为该日期没有约会。
一开始我使用的是这个查询:
select h.hour
from hours h, appointment a
where h.hour != a.hour and a.date = 'the-date';
此查询仅在给定日期有约会时有效,但对于没有约会的其余日期,它 returns 为空结果。我可以通过应用程序完成此任务,但我正在尝试用尽数据库的所有可能性。
您可以使用 outer join,但子查询可能更容易理解:
SELECT hour
FROM hours
WHERE hour NOT IN (SELECT hour
FROM appointment
WHERE date = ?)
我有以下架构:
小时table:这个table有"constant"数据,它永远不会改变,因为只会存储schedule-able小时
hour (int)
----
8
9
10
约会table
hour (int) | date (text)
--------------------------
10 | 25/08/2015
在我的应用程序中,我只想显示可用时间以根据 hour-date 过滤器设置新约会。例如,我可以说这几天:
25/08/2015
:可用时间为8
和9
,因为10
已被占用26/08/2015
:可用时间为8
、9
和10
,因为该日期没有约会。
一开始我使用的是这个查询:
select h.hour
from hours h, appointment a
where h.hour != a.hour and a.date = 'the-date';
此查询仅在给定日期有约会时有效,但对于没有约会的其余日期,它 returns 为空结果。我可以通过应用程序完成此任务,但我正在尝试用尽数据库的所有可能性。
您可以使用 outer join,但子查询可能更容易理解:
SELECT hour
FROM hours
WHERE hour NOT IN (SELECT hour
FROM appointment
WHERE date = ?)