我有两个表,其中包含我感兴趣的列,如Table1.Column1和Table2.Column2 表1是组表的种类,表2是项目表。这两个表的连接查询获取以下格式的数据
Column1 Column2
A 1
A 2
B 1
B 2
B 3
我想要的是以下列格式获取数据:
Column1 Column2
A 0
A 1
A 2
B 0
B 1
B 2
B 3
即。每次开始时每组获得额外0。 0不会退出数据库。
有人知道如何在SQL中实现这个目标吗?
非常感谢,
答案 0 :(得分:1)
这是一种方法。
SELECT DISTINCT Column1, [Column2] = 0
FROM (
YourOriginalQuery
) q
UNION ALL
YourOriginalQuery
最有可能的是,通过将此要求合并到原始查询中,可以获得更好的解决方案。如果您发布查询,我们可以提出更好的选择。
答案 1 :(得分:0)
或类似的东西:
select C.CategoryId, drv.CategoryGroupId from Category as C
cross join (
select 0 as CategoryGroupId
UNION
select CG.CategoryGroupId from CategoryGroup as CG
)drv order by CategoryId, CategoryGroupId