我想通过使用单个SQL或过程以下面的方式显示数据

时间:2017-08-19 05:51:39

标签: sql-server sql-server-2014

我有两张桌子。父母和孩子。我想进行查询以显示父数据和子数据。目前我使用join命令来关联父表和子表。请参阅附图,我解释了这个问题:

截图:

enter image description here

2 个答案:

答案 0 :(得分:1)

试试这个......

SELECT
    ParentData =  CASE WHEN ROW_NUMBER() OVER (PARTITION BY p.ParentData ORDER BY c.ChildData) = 1 THEN p.ParentData ELSE '' END,
    <other columns>...

答案 1 :(得分:0)

您可以使用分区:

ROW_NUMBER() OVER
 (
     PARTITION BY SalesHeadColumn
     ORDER BY SalesDetailColumn
 ) AS DuplicateHeads

在将查询结合到select语句中后,可以通过over-select括起来并添加case语句,以便在DuplicateHeads不等于1时将其置空。