【发布时间】:2020-12-18 16:02:00
【问题描述】:
我有一个 Microsoft SQL Server 表,其中包含三列 - 一列用于 Locations,一列用于关联的 Images,另一列指示给定图像是否意味着用作给定位置的主图像(这样做是因为历史上每个位置都上传了多个图像,并且此列指示哪个图像是一个 strong> 实际被使用)。
现在我们希望能够选择并指定第二张图片作为我们位置的徽标,从而添加第四列来指示哪个图片成为该徽标。
所以我有一个看起来像这样的表:
+----------+----------+-----------------+-----------+
| filename | location | IsMainImage | IsLogo |
+----------+----------+-----------------+-----------+
| img1 | 10 | True | Null |
| img2 | 10 | Null | True |
| img3 | 10 | Null | Null |
| img4 | 20 | True | Null |
| img5 | 20 | NULL | True |
+----------+----------+-----------------+-----------+
我的目标是编写一个查询,将 img1 和 img2 作为查询中同一行中的不同列返回,然后是另一行 img3 和 img4。从上表中,我需要输出如下所示:
+-----------+-------------+
| filename1 | filename2 |
+-----------+-------------+
| img1 | img2 |
| img4 | img5 |
+-----------+-------------+
请注意,我的描述过于简单化。我正在修改另一个我无法修改的进程使用的 SSIS 包。这就是我需要这种格式的输出的原因。 Filename1 和 Filename2 曾经是同一个文件(徽标是主图像的调整大小版本),现在我需要区分两者。
只有标记为 IsMainImage 的列才会显示在 filename1 下,并且只有标记为 IsLogo 的列才会显示在 filename2 下。
我将不胜感激。谢谢!
【问题讨论】:
标签: sql-server tsql conditional-statements multiple-conditions