查询日期无法正常工作

时间:2017-01-12 16:14:24

标签: sql postgresql

当我修复上一个关于某个函数的问题时,我陷入了我的疑问。

dc.ponudi.Add(ponuda1);
dc.SaveChanges();

int last_id = ponuda1.id;

如果数据库中的列与另一列中的列具有相同的thread_date,则会打印出第一个thread_name而不是两者。

我想从cat_id中打印出两个thread_name,如上所述。

SELECT * FROM threads WHERE cat_id = :cat_id AND thread_date=(
    SELECT max(thread_date) FROM threads

结果:

Example data: id = 1, cat_id = 15, thread_name = test, thread_date = 15;
              id = 2, cat_id = 16, thread_name = test2, thread_date = 15;

我的期望:

test test

由于

http://image.prntscr.com/image/1c44540d40fa413f8bd073bc481858b9.png

1 个答案:

答案 0 :(得分:0)

将限制WHERE的{​​{1}}子句的部分移到子查询中:

cat_id

子查询现在将标识输入SELECT * FROM threads WHERE thread_date = (SELECT MAX(thread_date) FROM threads WHERE cat_id = :cat_id) 的最大thread_date,外部查询将返回共享此最大值cat_id的所有记录。