首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一条记录中获取同一个表的多行SQL Server 2008

在一条记录中获取同一个表的多行SQL Server 2008
EN

Stack Overflow用户
提问于 2020-01-04 12:08:10
回答 1查看 28关注 0票数 0

我有一张像这样的桌子

代码语言:javascript
复制
UniqID   |Part             |Name
---------|-----------------|----------------------------------------------
1        |StickerForm      |C:\Muscateers\SummaryLabel.dotm
2        |InvoiceForm      |\\online-storage\secure\MMCC Invoice Layout.dotm
3        |RepairForm       |\\online-storage\secure\MMCC Repair Layout.dotm
4        |Receip Label     |\\online-storage\secure\ReceiptLabel.dotm
5        |InvoiceSavePath  |\\online-storage\secure\Invoices\
6        |RepairSavePath   |\\online-storage\secure\Repairs\
7        |ReportPrinter    |HP LaserJet P2050 Series PCL6
8        |ReceiptPrinter   |EPSON TM-T88IV Receipt
9        |StickerPrinter   |Brother QL-810W

我想从1个结果中的UniqID 3、6、7中检索name列,即

代码语言:javascript
复制
\\online-storage\secure\MMCC Repair Layout.dotm   \\online-storage\secure\Repairs\   HP LaserJet P2050 Series PCL6

这有可能吗?如果是这样的话,你能给我看一个代码样本吗?

EN

回答 1

Stack Overflow用户

发布于 2020-01-04 12:08:10

大多数答案是使用Coalesce或类似的,我不希望我在尝试了4天后终于得到了我想要的东西

代码语言:javascript
复制
Create table #myrow 
    (eForm varchar(65) ,
     ePath varchar(65) ,
     ePrint varchar(65))

Create table #Temp 
    (   UniqID int, 
     Name Varchar(65))

Insert into #Temp
     SELECT * FROM (SELECT [Uniqid],[Name] FROM [dbo].[PathForms]
     where UniqID in (3,6,7))src 

Insert into #myrow
     SELECT * FROM #Temp
     PIVOT (MAX([Name]) FOR [UniqID] in ([3] , [6] , [7]  )) as pvt

Drop table #Temp

Select 
    eForm, ISNULL(ePath,'') as ePath ,ePrint from #myrow 

Drop table #myrow
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59587792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档