我在SQL中运行一个脚本,并试图通过逻辑。这是一般结构:
SELECT
...
FROM
...
WHERE
...
AND IF (order belongs to x,y,z, 1, IF (order was booked before this data, 1,0)) = 0
在AND IF的最后一行... = 0意味着什么?
答案 0 :(得分:0)
它表示嵌套if语句的false值是查询所需的结果
IF (order belongs to x,y,z
, - 如果为true,则值为1
,如果为false,则计算嵌套的if语句。
IF (order was booked before this data
, - 如果这是真的那么值将是1
。如果为false,则值为0
。
最后评估IF语句的结果,看它们是= 0
。
基本上它是说订单属于x,y,z然后不包括记录。此外,如果订单在此日期之前预订,则不包括记录。
以更标准的方式表示逻辑。
SELECT *
FROM
TableName
WHERE
Order NOT IN (x,y,z)
AND OrderDate >= somedate