【发布时间】:2015-11-18 02:21:44
【问题描述】:
我有一个这样的传输历史 SQL 表:
ID | Date_out | Date_in
---+----------+----------
1 | 01.01.15 |
2 | 01.01.15 | 13.05.15
2 | 16.07.14 | 01.01.15
4 | 28.07.15 |
4 | 16.07.14 | 28.07.15
您可以说 ID 为 2 的物品于 16 年 7 月 14 日送出,并于 01 年 1 月 15 日归还,之后于 01 月 15 日再次发出并于 13 年 5 月 15 日归还。所以它在我的办公室里。
ID 为 4 的物品于 16.07.14 送出,并于 28.07.15 归还,之后于 28.07.15 再次发出。所以它不在我的办公室里
现在我想要一个包含我办公室中的每个项目的列表以及一个包含不在我办公室中的项目的列表。我必须使用 Microsoft Access。
result 1: Items in my office
ID | Date_out | Date_in
---+----------+----------
2 | 01.01.15 | 13.05.15
result 2: Items outside my office
ID | Date_out | Date_in
---+----------+----------
1 | 01.01.15 |
4 | 28.07.15 |
问题是我多次拥有这些项目。当我按 ID 分组时,空日期会消失,我仍然有多个项目:
SELECT
table.item_ID,
table.Date_out,
table.Date_in
FROM table
WHERE table.date_in<Now()
GROUP BY table.item_ID
有人有想法吗?
【问题讨论】:
-
您想要两个查询还是一个?预期的结果是什么?还按方法显示您的小组。您还应该说明您正在使用什么 rdbms(例如 MySql、Oracle 或 SQL-Server)。
-
可以添加当前的SQL吗?我认为 Rank/Row_Number 可能会对此进行排序。
-
请编辑您的问题并包括您正在执行的查询、您期望的结果以及您获得的结果。谢谢。
-
首先,您必须将日期存储为 DATES!!
-
@Strawberry - 1. 谁告诉你它没有按日期排序? 2. 为什么强制存储为日期?