当我修复上一个关于某个函数的问题时,我陷入了我的疑问。
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
答案 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
的所有记录。