我正在尝试为某人设计糟糕的数据库做报告,但无法弄清楚如何处理这种情况。这是在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'元素并将其指定为'团队'