簡體   English   中英

如果子查詢返回null,則Mysql返回null

[英]Mysql return null if subquery returns null

Hy家伙,有時我的子查詢返回null,這是好的,它應該返回null,但在那些情況下,我希望我的“父選擇”返回null。

那可能嗎?

如果是,那怎么樣?

下面是代碼:

SELECT 
    `company`.`companyID`,
    `company`.`companyName`, 
    `company`.`companyName`, 
    `company`.`companyEmail`, 
    `company`.`contactEmail`,
    `company`.`companyTel`,                 
    (
        SELECT 
            `package_map`.`szekhely_endDate`
        FROM 
            `package_map` 
        WHERE 
            `package_map`.`companyID` = `company`.`companyID`
        AND 
            `package_map`.`active` = 1
        AND 
            `package_map`.`szekhely_endDate` > NOW()
        ORDER BY 
            `package_map`.`szekhely_endDate` DESC 
        LIMIT 1
    ) as endDate,
CASE 
    WHEN endDate = NULL

FROM 
    `company` 
WHERE 
    `company`.`companyBase` = 'some address' 
AND 
    `company`.`szekhely_check_out` = 0

在兩個表之間使用普通的INNER JOIN。 如果package_map表中沒有匹配的行,則結果中不會有行。 要獲取最新的endDate ,請使用MAX()函數。

SELECT 
    `company`.`companyID`,
    `company`.`companyName`, 
    `company`.`companyName`, 
    `company`.`companyEmail`, 
    `company`.`contactEmail`,
    `company`.`companyTel`,                 
    MAX(package_map.szekhely_endDate) AS endDate
FROM company
INNER JOIN package_map ON `package_map`.`companyID` = `company`.`companyID`
WHERE 
    `company`.`companyBase` = 'some address' 
AND 
    `company`.`szekhely_check_out` = 0
AND 
    `package_map`.`active` = 1
AND 
    `package_map`.`szekhely_endDate` > NOW()
GROUP BY `company`.`companyID`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM