【发布时间】:2017-07-18 02:19:13
【问题描述】:
我已经构建了这个 SQL 查询,它应该将最高日期值放在 field_result 中,但它没有按预期工作。
SELECT
field_one,
field_two,
IF(((field_one IS NOT NULL AND field_one <> '') AND
(field_one > TableB.field_two)),
unix_timestamp(field_one),
unix_timestamp(TableB.field_two)) AS result
FROM TableA
LEFT JOIN TableB ON TableB.id = TableA.id
条件很简单。
-
field_one必须存在,并且包含某种值。 - 如果
field_one > field_two显示field_one否则显示field_two
它产生结果
"field_one", "field_two", "field_result"
"1495681346","1500328106","1500328106"
"1500342725","1500328106","1500328106"
"1499922505","1500329807","1500329807"
"1500343148","1500328106","1500328106"
"1500329593","1500328106","1500328106"
由于某种原因,row 2 上的field_result 的值不是1500342725(这个值大约是14619 大于1500328106)。
我认为我的语法正确,但我不确定,因为结果不是我所期望的
【问题讨论】:
-
请清理您的查询并给我们一个可重现的例子。
标签: mysql if-statement field