我在使用COALESCE和JOIN时遇到了麻烦。我的计划是:如何在同一时间使用COALESCE和JOIN并在MySQL中包含NULL值?
- 到创业列从我目前的表对阵从风险清单表VID列,并返回相应的企业名称。
- 如果在当前表企业列为零(0)或空,另一列旁边将选择(“venture_other”列)
虽然我的查询返回其适当的值,在这种情况下,它看起来像NULL值被忽略。
venture_list表:
-------------------
| vid | name |
-------------------
| 1 | Malaysia |
-------------------
| 2 | Singapore |
-------------------
request_forms:
---------------------------------------------
| fid | username | venture | venture_other |
---------------------------------------------
| 1 | jake.long | 2 | |
---------------------------------------------
| 2 | xander.f | 0 | Japan |
---------------------------------------------
预期结果
---------------
| venturename |
---------------
| Singapore |
---------------
| Japan |
---------------
实际结果
---------------
| venturename |
---------------
| Singapore |
---------------
这里是我的查询:
SELECT COALESCE(NULLIF(ventures.name, null), venture_other) AS venturename
FROM request_forms forms
JOIN venture_list ventures ON ventures.vid = forms.venture
我试图重新安排的列名,但没有奏效。
谢谢你的链接@Pang!我承认我英语不太好(可能只是一点“好”,哈哈哈)。 –