子查询返回空值但无法使用它

时间:2015-03-26 21:33:54

标签: mysql

我正在使用将选择某些数据的查询,而我现在的挑战是子查询返回NULL值,但我需要 USE NULL值。

以下是我正在使用的查询的这一部分以及一些引用的表:(其余对此问题毫无用处)

    CREATE TABLE urgarm (
        `urgarmID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        `rfid` VARCHAR(24) NULL,
        `dateissued` date DEFAULT NULL,
        `lastdatein` date DEFAULT NULL,
        `statuscode` VARCHAR(1) NULL
    );

现在查询:

    SELECT
        MAX(c.urgarmID)
    FROM
        urgarm c
    WHERE
        c.rfid = '3035307B2831B380E05E398B'  AND
        //This is the subquery that is returning null and I NEED this null value.
        c.lastdatein = (
            SELECT
                MAX(d.lastdatein)
            FROM
                urgarm d
            WHERE
                d.rfid = c.rfid  AND
                d.dateissued IN (
                    SELECT
                        MAX(e.dateissued)
                    FROM
                        urgarm e
                    WHERE
                        e.rfid = d.rfid
                )
        )

我的问题是如何使用此空值?我了解真正使用NULL的唯一方法是使用IS NULL。但是我怎么能这样做呢?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用null-save equal operator <=> in MySQL

c.lastdatein <=> (...)