嗨,你看,这是我的情景:获得最接近的日期给定日期的一组记录我有一个SQL查询的问题
我有一个学生表和一个表,我存储日期时学生进入或离开学校,所以我想为每个学生获得一个给定日期的最近日期,我找不到这样做的方式。
Students Data:
|idstudent|name |
------------------
| 1 | John |
| 2 | Bob |
------------------
Dates Data:
|id|idstudent| date |type|
------------------------------
|1 | 1 |20-01-2015| 1 |
|2 | 2 |20-01-2015| 1 |
|3 | 2 |15-08-2015| 2 |
|4 | 1 |31-08-2015| 2 |
------------------------------
Desired Date = 01-08-2015
|idstudent| name | date |type|
-------------------------------------
| 1 | John | 31-08-2015 | 2 |
| 2 | Bob | 15-08-2015 | 2 |
学生表:
CREATE TABLE students
(
idstudent serial NOT NULL,
name character varying(200),
CONSTRAINT idstudent PRIMARY KEY (idstudent)
)
WITH (
OIDS=FALSE
);
ALTER TABLE students
OWNER TO postgres;
日期表:
CREATE TABLE students_dates
(
idstudent_date serial NOT NULL,
idstudent bigint,
date_ date,
type smallint,
CONSTRAINT idstudent_date PRIMARY KEY (idstudent_date)
)
WITH (
OIDS=FALSE
);
ALTER TABLE students_dates
OWNER TO postgres;
谁能帮助我?
非常感谢。
请**编辑**您的问题,请添加表格定义,一些示例数据和基于该示例数据的预期输出。这将是完美的,如果你还可以创建一个http://sqlfiddle.com的例子 –
对不起,我是新的,现在是职位确定? – ozat