如何对左外连接得到的null值给一个默认值

jjstar 2004-11-03 05:33:46
在做左外连接的时候,某些没有匹配的项会产生null数据,我想把sql语句改一下,使得null都有某个默认值,比如下面例子
表t1
列 pk sys_pk
p1 <NULL>
p2 002
p3 003

表t2
列 sys_pk sys_name
001 n1
002 n2
003 n3

外连接语句如下:
SELECT t1.pk, t1.sys_pk, t2.sys_name
FROM t1 LEFT OUTER JOIN
t2 ON t1.sys_pk = t2.sys_pk
得到结果是
pk sys_pk sys_name
p1 <NULL> <NULL>
p2 002 n2
p3 003 n3

而我想要的结果却是
pk sys_pk sys_name
p1 999 999
p2 002 n2
p3 003 n3


不知道说明白了没有
...全文
1031 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsxaa 2004-11-03
  • 打赏
  • 举报
回复
楼上玩啥呢
amdwinter 2004-11-03
  • 打赏
  • 举报
回复
§§
amdwinter 2004-11-03
  • 打赏
  • 举报
回复
|
|
|___
|
---------
deodarsydn 2004-11-03
  • 打赏
  • 举报
回复
SELECT t1.pk, isnull(t1.sys_pk,'999'), isnull(t2.sys_name,'999')
FROM t1 LEFT OUTER JOIN
t2 ON t1.sys_pk = t2.sys_pk
lsxaa 2004-11-03
  • 打赏
  • 举报
回复
SELECT t1.pk,isnull(t1.sys_pk,'999'), isnull(t2.sys_name,'999')
FROM t1 LEFT OUTER JOIN
t2 ON t1.sys_pk = t2.sys_pk
sdhdy 2004-11-03
  • 打赏
  • 举报
回复
SELECT t1.pk, isnull(t1.sys_pk,'999'), isnull(t2.sys_name,'999')
FROM t1 LEFT OUTER JOIN
t2 ON t1.sys_pk = t2.sys_pk
lsxaa 2004-11-03
  • 打赏
  • 举报
回复
SELECT t1.pk,isnull(t1.sys_pk,999), isnull(t2.sys_name,999)
FROM t1 LEFT OUTER JOIN
t2 ON t1.sys_pk = t2.sys_pk
sdhdy 2004-11-03
  • 打赏
  • 举报
回复
SELECT t1.pk, isnull(t1.sys_pk,'999'), isnull(t2.sys_name,'999')
FROM t1 LEFT OUTER JOIN
t2 ON t1.sys_pk = t2.sys_pk
cui26 2004-11-03
  • 打赏
  • 举报
回复
isnull(sys_pk,999)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧