簡體   English   中英

使用SQL獲取空記錄

[英]Get the empty records using SQL

我有一個表單,可以選擇不同的框,並且每個框在數據庫中都有一些記錄,即(框的開口數),但是對於選定的框,可能沒有記錄存在,即框未打開甚至一次 當前,當我選擇其他框並且如果框的記錄不存在時,它甚至都不會返回空數組,而我想要它甚至返回所選框的空結果。 我該如何實現? 我的查詢是

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(box_id) AS Openings')
    ->from('mc_boxes_has_openings')
    ->where_in('box_id', $boxes)
    ->where('actiontime >=', $from_date)
    ->where('actiontime <=', $to_date)
    ->group_by('box_id')
    ->get();
$data = $query->result_array();
return $data;
}

編輯:

如果我選擇3個框並提交表單,並且記錄僅存在2個框,則返回類似以下內容

 Array
(
[0] => Array
    (
        [mc_boxes_idmc_boxes] => 12
        [location] => FRA-Air
        [Openings] => 1
    )

[1] => Array
    (
        [mc_boxes_idmc_boxes] => 14
        [location] => FRA-Hof
        [Openings] => 1
    )

)

我怎樣才能得到一個空的所有三個記錄

[2] => Array
    (
        [mc_boxes_idmc_boxes] => 16
        [location] => Test
        [Openings] => 
    )

謝謝

為什么不只計算整個記錄?

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(*) AS Openings')
    ->from('mc_boxes_has_openings')
    ->where_in('box_id', $boxes)
    ->where('actiontime >=', $from_date)
    ->where('actiontime <=', $to_date)
    ->group_by('box_id')
    ->get();
$data = $query->result_array();
return $data;
}

雖然我不明白您的group_by子句...

暫無
暫無

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

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