【发布时间】:2010-12-17 17:59:56
【问题描述】:
我有一个返回如下表的 SQL 查询:
id emp_name total_explabor_grade title name
518 Name,One 3 PE4 Software Engineer Java
492 Name,Two 4 PE1 Software Engineer Java
502 Name,Three 1 SPE5 Principal Javascript
410 Name,Four 3 ENG3 Software Engineer Java
147 Name,Five 5 SPE5 Director Java
147 Name,Five 2 SPE5 Director Javascript
156 Name,Six 10 PE2 Senior Java
156 Name,Six 8 PE2 Senior Javascript
这是基于对具有 Java 或 Javascript 技能的人的查询。如您所见,员工 147 和 156 对 Java 和 Javascript 都适用。
如果我将此当前查询存储到临时表中,例如#TempTable
我可以在#TempTable 上运行什么查询来给我这样的结果:
id emp_name total_explabor_grade title name
518 Name,One 3 PE4 Software Engineer Java
492 Name,Two 4 PE1 Software Engineer Java
502 Name,Three 1 SPE5 Principal Javascript
410 Name,Four 3 ENG3 Software Engineer Java
147 Name,Five 5,2 SPE5 Director Java,Javascript
156 Name,Six 10,8 PE2 Senior Java,JavaScript
我曾尝试以各种形式加入 #TempTable 自身,但我无法让它给我一个像我刚刚发布的那样的表。 这是我目前写的代码...
select t1.id, t1.emp_name, CONVERT(nvarchar(3),t1.total_exp)+','+CONVERT(nvarchar(3),t2.total_exp), t1.labor_grade, t1.title, t1.name+','+t2.name AS hits
from #TempTable t1 JOIN #TempTable t2
ON t1.id=t2.id
有谁知道是否可以像我想要的那样进行加入?我最近的想法是它需要不止一个选择,但我还没有完全弄清楚
【问题讨论】:
-
t1.name 和 t2.name 指的是技能名称,顺便说一句
标签: sql sql-server-2005 join