我似乎无法解决一个难题。
我需要选择日期晚于符合特定条件的行的所有行。在表#1中,我有一个状态标志。 1
表示错误。
所以在这种情况下,我想选择ValueDate > 2016-02-02
的所有行(ID为14的行之后),但仅限于属于同一类别的那些行。
每个类别只能有一行错误标记。
变得有点复杂。我有另一张桌子,桌子#2,文件在哪里。这些文件会不断添加,因此它们可能会替换表#1中的任何错误文件。
我想选择ID 14之后的所有行,只要有可用于ID 14的替换文件(通过验证替换文件的CreateDate晚于错误文件来检查)。
有人能引导我朝正确的方向前进吗?
表#1的列:id,file,status
表#2的列:id,category,CreateDate,ValueDate
答案 0 :(得分:1)
您可以使用google.maps.event.trigger(map, 'resize');
子句中的子查询来执行此操作:
where
您可以将此作为select t.*
from t
where t.date >= (select min(t2.date)
from t2
where t2.category = t.category and t2.status = 1
);
和聚合:
join
答案 1 :(得分:0)
我不确定您是否要求两个或一个查询。我会给你两个问题,并告诉我这不是你想要的答案。
第一个:
我想选择ValueDate>的所有行2016-02-02(排后 ID为14),但仅适用于属于同一类别的那些行。
SELECT * FROM TableALL A
WHERE A.ValueDate > (SELECT max(B.ValueDate) FROM TableALL B
WHERE B.category=A.category
AND status=1)
第二个:
我想在ID 14之后选择所有行,只有在有替换时才会这样做 文件可用于ID 14(通过验证确认 替换文件的CreateDate晚于错误文件。
SELECT A.* FROM Table1 A, Table2 B
WHERE B.CreateDate > (SELECT max(Y.ValueDate)
FROM Table1 Z,Table2 Y
WHERE Z.id=Y.id
AND Y.category = B.category // I thought you
// need it here too
AND status=1)
AND A.id=B.id