看板 Database 關於我們 聯絡資訊
資料庫名稱: >> PostgreSQL 資料庫版本: >> V9.0.0 內容/問題描述: >> 如果 SELECT 是 0 筆資料,想要強制輸出至少 1 筆 NULL or something 各位大大們好,下面是小弟的一個資料表格: SELECT * FROM card_group_set; id | cardid | ctrlno | group_no ----+--------+--------+---------- 1 | 2 | 86 | 16 2 | 2 | 20 | 16 3 | 2 | 51 | 16 4 | 3 | 20 | 16 5 | 3 | 86 | 16 6 | 3 | 51 | 16 ----+--------+--------+---------- (6 rows) 現在想要針對 group_no 欄位進行取值,已知 group_no 有效值為 1 ~ 64, 若指定的條件正確,正常可輸出已存有的 group_no 資料: SELECT group_no FROM card_appset WHERE cardid = 3 AND ctrlno = 86; group_no ---------- 16 ---------- (1 row) 而若指定了某個不存在的條件值,回應將是 0 筆,如下: SELECT group_no FROM card_group_set WHERE cardid = 7 AND ctrlno = 71; group_no ---------- ---------- (0 rows) 想請問的是,什麼樣的 SQL 語法,可以使得產生這樣的輸出: 前提條件是,必須能輸出 1 筆資料就好,但不可以是 0 筆,否程式將無法接手。 group_no ---------- (NULL or ' ' or ... ) <-- 任何足以辨認 group_no 為無效的資料 ---------- (1 row) <-- 能輸出至少一筆,方便程式接手繼續處理。 拜託各位熱情解答了,小弟在此感謝!! -- 邊提供協助,邊鍛鍊自己... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.207.14 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1444396910.A.73B.html
chippclass: http://i.imgur.com/MqkJxsF.png 這樣? 10/10 00:46
SeamusBerloz: 感恩!沒錯~就是這樣!弱弱的說一下,可以解釋一下 10/10 22:45
SeamusBerloz: 語法作用嗎? 10/10 22:46
chippclass: 有哪個字看不懂的嗎? left join ? select 3,86 ? 10/10 23:27
SeamusBerloz: 我想為什麼不是 natural join?加入 left 的差異是? 10/11 01:11
SeamusBerloz: 喔喔!找到答案了:https://goo.gl/RPq4aq 再次感謝 10/11 01:23