【问题标题】:Select statement giving an aditionnal Null row选择语句给出额外的 Null 行
【发布时间】:2018-05-15 13:02:43
【问题描述】:

这是我的 T-SQL 语句:

SELECT 
	NEWID() as Id,
	ss.Id as SkillId,
	ss.Name,
	sc.Vote,
	sc.CandidateId,
	sc.Id As ScoreId

FROM dbo.SoftSkills ss 
LEFT JOIN dbo.Scorecards sc ON ss.Id = sc.SkillId 

给我这个

但我也希望我的选择为每个 SkillId 返回一个额外的行,其中 CandidateId 为 Null。

这可能吗?

感谢您的帮助。

编辑:不能在我的帖子开头写“大家好”,所以在那里打个招呼:D

【问题讨论】:

  • 您的查询不就是这样吗?

标签: sql performance tsql


【解决方案1】:

你只想要UNION ALL吗?

SELECT NEWID() as Id, ss.Id as SkillId, ss.Name, sc.Vote,
       sc.CandidateId, sc.Id As ScoreId
FROM dbo.SoftSkills ss LEFT JOIN
     dbo.Scorecards sc
     ON ss.Id = sc.SkillId 
UNION ALL
SELECT NEWID() as Id, ss.Id as SkillId, ss.Name, NULL, NULL, NULL
FROM dbo.SoftSkills ss;

【讨论】:

  • 只需要在第二次选择中将 sc.Vote 设置为 null,因为它在 ss 表中不存在,但它看起来像我需要的,谢谢
猜你喜欢
  • 1970-01-01
  • 2015-03-17
  • 2023-01-21
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多