我如何使用 Microsoft SQL 服务器创建一个特定的多视图
How do i create a specific one many view using Microsoft SQL Server
我有一个大师table和一个细节table。
问题 1:我希望我的视图看起来像这样
master1 row, nulls
master1 row, detail1 row for master1
master1 row, detail2 row for master1
master1 row, detail3 row for master1
master2 row, nulls
master2 row, detail1 row for master2
master2 row, detail2 row for master2
问题 2:如何在每一行的开头插入一列,告诉我何时某行是主行,何时是主/明细行?
感谢您的帮助,非常感谢
您可以使用联合查询来完成此操作。但是你需要指定列名:
select m.pk, m.a, m.b, m.c, d.pk, d.a, d.b, d.c
from master m
join detail d on m.pk = d.fk
union all
select m.pk, m.a, m.b, m.c, null, null, null, null
from master m
order by m.pk, d.pk
为了确定某行是大纲还是明细,只需测试合并结果中的 d.pk
列是否为空。
我有一个大师table和一个细节table。
问题 1:我希望我的视图看起来像这样
master1 row, nulls
master1 row, detail1 row for master1
master1 row, detail2 row for master1
master1 row, detail3 row for master1
master2 row, nulls
master2 row, detail1 row for master2
master2 row, detail2 row for master2
问题 2:如何在每一行的开头插入一列,告诉我何时某行是主行,何时是主/明细行?
感谢您的帮助,非常感谢
您可以使用联合查询来完成此操作。但是你需要指定列名:
select m.pk, m.a, m.b, m.c, d.pk, d.a, d.b, d.c
from master m
join detail d on m.pk = d.fk
union all
select m.pk, m.a, m.b, m.c, null, null, null, null
from master m
order by m.pk, d.pk
为了确定某行是大纲还是明细,只需测试合并结果中的 d.pk
列是否为空。