如何组合2个sql行以生成单个结果

时间:2016-05-27 16:27:42

标签: sql sql-server

我正在尝试为某人设计糟糕的数据库做报告,但无法弄清楚如何处理这种情况。这是在MSSQL中。我搜索了我需要的答案,但找不到这个场景。当我运行以下查询时:

SELECT 
  a.episode, 
  a.SUL, 
  b.element 
FROM TableA as a
  LEFT JOIN TableB as b ON (a.ElementKey = b.ElementKey)
WHERE a.episode = '99999'

它返回如下所示的结果:

| episode | SUL | element |
|---------|-----|---------|
| 99999   | 0   | SLC     |
| 99999   | 1   | SL 1    |

我需要他们看起来像:

| episode | substation | team |
|---------|------------|------|
| 99999   | SLC        | SL1  |

数据库基本上每条记录有2条记录。 1具有SUL = 0(具有元素名称),1具有SUL = 1且具有(具有团队名称)。我已经尝试了连接和groupBy和case语句,但没有任何东西可以让我得到我需要的东西。谢谢!

编辑:更多信息。

表A:

| Name       | Type   |
|------------|--------|
| episode    | bigint |
| SUL        | int    |
| elementKey | bigint |

表B:

| Name       | Type    |
|------------|---------|
| elementKey | bigint  |
| element    | varchar |

我没有做好解释。基本上“表A”上的每一个“剧集”都有2行。一个SUL = 0,一个SUL = 1.如果它等于0,那么我得到'表B'元素并将其指定为'Substation'。如果它等于1,那么我得到'表B'元素并将其指定为'团队'

0 个答案:

没有答案