我有以下數據庫表:MySQL如何使這個子查詢正確運行?
People
+--------+------------+------------+-----------+
| f_ID | F_NAME | STUFF | F_VALUE |
+--------+------------+------------+-----------+
| 1 | Zoe | blah | 101 |
| 2 | Jimy | derka | 202 |
| 3 | Kate | shazam | 20 |
| 4 | Sue | pow | 2 |
+--------+------------+------------+-----------+
RESULTS
+------- ---+------------+
| F_ID | RESULTS |
+-----------+------------+
| 1 | Good |
| 4 | OK |
+-----------+------------+
如何創建一個查詢,顯示像這樣的人表中的所有條目:
+------------+------------+
| NAME | GRADE |
+------------+------------+
| Zoe | Good |
| Jimy | N/A |
| Kate | N/A |
| Sue | OK |
+------------+------------+
我嘗試這樣做查詢,但它不能正常工作:
SELECT
NAME
GRADE
(
SELECT
p.F_NAME AS NAME,
r.RESULTS
FROM People p
JOIN RESULTS r ON r.F_ID=p.F_ID
UNION
SELECT
p.F_NAME AS NAME,
"N/A"
FROM People p
JOIN RESULTS r ON r.F_ID=p.F_ID
)a
+1,但'COALESCE'代替IF會更簡潔。 – bfavaretto 2012-03-01 02:04:19
@bfavaretto你能舉一個例子嗎?我不確定我是否聽說過COALESCE。謝謝 – stackoverflow 2012-03-01 02:07:04
@bfavaretto同意,更新了答案。 – 2012-03-01 02:10:27