我希望用'N/A‘替换SQL JOIN语句产生的NULL值。我尝试将两个表中两个相关列的默认值设置为N/A,但是每次执行SQL语句时,仍然会收到NULL值。
我拥有的两个表是客户机和Medical_Aid表,我使用一个名为Reg_No的外键连接了这两个表。下面是我的sql查询
SELECT
clients.Id_Number,
clients.Medical_No,
medical_aid.Name AS Medical_Aid,
clients.First_Name,
clients.Last_Name,
clients.Age,
clients.Gender,
clients.Email,
clients.Telephone
FROM
clients
LEFT OUTER JOIN medical_aid ON clients.Reg_No = medical_aid.Reg_No;我尝试将Medical_No和Medical_Name的默认值设置为'N/A',但每次执行JOIN语句时,只在Medical_Name列上返回空值。
因此,我期望JOIN语句返回Medical_No和medical_AidName的medical_AidName
发布于 2022-11-06 10:25:36
SELECT
clients.Id_Number,
ISNULL(clients.Medical_No,'N/A'),
ISNULL(medical_aid.Name, 'N/A') AS Medical_Aid,
clients.First_Name,
clients.Last_Name,
clients.Age,
clients.Gender,
clients.Email,
clients.Telephone
FROM
clients
LEFT OUTER JOIN medical_aid ON clients.Reg_No = medical_aid.Reg_No;发布于 2022-11-06 10:33:58
对于来自medial_aid表的值,可以使用IsNull()函数用不同的值替换NULL:
IsNull(medical_aid.Name, 'N/A') AS Medical_Aid如果还想在medical_aid表中找不到记录时也替换客户端表中的另一个字段,则可能需要使用案例语句:
CASE WHEN medical_aid.Reg_No is null THEN 'N/A' else clients.Medical_No END AS Medical_No这条语句说,当medical_aid.Reg_No为NULL时(因为没有从medical_aid找到的连接到客户端表的记录),那么输出'N/A',否则输出clients.Medical_No。
https://stackoverflow.com/questions/74334895
复制相似问题