2

次のステートメントがありますが、私がやろうとしているのは、空の insert が返されたかどうかを判断する方法を見つけることですN/A。if ステートメントを使用するか、DB にデフォルト値を設定しますか?

コード:

$query = $this->db->query("SELECT f.film_id 'Film ID', f.film_name 'Film Name', u.user_first_name 'First Name', u.user_surname 'Surname', u.user_address_line1 'Address1', u.user_address_line2 'Address2', u.user_towncity 'City', u.user_us_state_id 'US State', u.user_non_us_state_county 'Non US State', u.user_country 'Country' FROM films f
INNER JOIN users u ON u.user_id = f.user_id WHERE f.active = 0");


return $query;
4

3 に答える 3

1

および update を使用して、列が null の列を N/A に変更するように設定できます。

UPDATE tablename SET column='N/A' WHERE column IS NULL
于 2013-10-03T21:48:34.360 に答える
0

coalesce次のような関数を使用して、空の列を簡単にカバーできます。

SELECT 
    f.film_id 'Film ID', 
    f.film_name 'Film Name', 
    coalesce(u.user_first_name, 'N/A') 'First Name', 
    // ^^ Guessing that this might sometimes be the null column.
    u.user_surname 'Surname', 
    u.user_address_line1 'Address1', 
    u.user_address_line2 'Address2', 
    u.user_towncity 'City', 
    u.user_us_state_id 'US State', 
    u.user_non_us_state_county 'Non US State', 
    u.user_country 'Country' 
FROM 
    films f
        INNER JOIN users u 
            ON u.user_id = f.user_id 
WHERE f.active = 0

名フィールドが null の場合、これは "N/A" になります。

于 2013-10-03T21:49:26.373 に答える