久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Tsql聯(lián)合查詢

Tsql union query(Tsql聯(lián)合查詢)
本文介紹了Tsql聯(lián)合查詢的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時送ChatGPT賬號..

我正在尋找一種查詢表的有效方法.表結(jié)構(gòu)為:

I’m looking for an efficient way to query a table. The table structure is:

CREATE TABLE [dbo].[CaseManager](
    [CaseID] [int] IDENTITY(1,1) NOT NULL,
    [SystemUserCreatedBy] [int] NULL,
    [SystemUserAssignee] [int] NULL,
     CONSTRAINT [PK_Case] PRIMARY KEY CLUSTERED 
(
    [CaseID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY] 

查詢應(yīng)該為每個 caseID 和 userid(userid 可以是 SystemUserCreatedBy 或 SystemUserAssignee)位列返回,顯示使用是 Createdby 還是 Assignee我設(shè)法這樣寫:

The query should return for every caseID and userid (userid can be either SystemUserCreatedBy or SystemUserAssignee) bit columns that show if the use is Createdby or Assignee I managed to write it like this:

select  CaseID,UserID,
       max(CaseUser.IsAssignee) as IsAssignee,
       max(CaseUser.IsCreator) as IsCreator


  FROM
  (
  select CMassignee.CaseID,
         CMassignee.SystemUserAssignee as UserID,
         1 as IsAssignee ,
         0 as IsCreator 
      from CaseManager CMassignee 
  where  CMassignee.SystemUserAssignee is not null
  UNION
   select CMCreator.CaseID,
          CMCreator.SystemUserCreatedBy as UserID,
          0 as IsAssignee ,
          1 as IsCreator 
      from CaseManager CMCreator
  where  CMCreator.SystemUserCreatedBy is not null
    ) CaseUser
  group by CaseID,UserID

我很確定有一種更好的方法來編寫一次掃描該表.在那個例子中,我只顯示了兩列(SystemUserCreatedBy as SystemUserAssignee),但實際上我有五列需要添加.

I’m pretty sure there is a better way to write it with scanning that table once .In that example I show only two columns (SystemUserCreatedBy as SystemUserAssignee) but actually I have five that need to be added.

請看數(shù)據(jù)示例:

SET IDENTITY_INSERT dbo.casemanager ON;
insert into casemanager(caseid,SystemUserCreatedBy,SystemUserAssignee)
values
(1,2222,3333)
SET IDENTITY_INSERT dbo.casemanager OFF;

在那種情況下,我希望得到:

In that case I’m looking to get :

CaseID      UserID      IsAssignee  IsCreator
----------- ----------- ----------- -----------
1           2222        0           1
1           3333        1           0

(2 row(s) affected)

推薦答案

CaseID 是主鍵,因此不需要聚合(如果兩列中只有一列不是 NULL):

The CaseID is the Primary Key, so there's no need for aggregation (if only one of both columns is NOT NULL):

SELECT
   CaseID,
   COALESCE(SystemUserAssignee, SystemUserCreatedBy) AS UserID,
   CASE WHEN SystemUserAssignee IS NOT NULL THEN 1 ELSE 0 end AS IsAssignee,
   CASE WHEN SystemUserCreatedBy IS NOT NULL THEN 1 ELSE 0 end AS IsCreator
FROM CaseManager CMassignee 

根據(jù)最新的評論,兩列都可以有數(shù)據(jù),而且可能是同一個用戶,所以你的原始查詢是可以的(即使它掃描了兩次表),你唯一需要改變的是UNION ALL 而不是 UNION.

Based on the latest comments both columns can have data and it might be the same user, so your original query is ok (even if it scans the table twice), the only thing you need to change is UNION ALL instead of UNION.

但是對于 5 個用戶,@Amit 的答案應(yīng)該是最好的.

But for 5 userid @Amit's answer should be the best.

這篇關(guān)于Tsql聯(lián)合查詢的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

What SQL Server Datatype Should I Use To Store A Byte[](我應(yīng)該使用什么 SQL Server 數(shù)據(jù)類型來存儲字節(jié) [])
Interpreting type codes in sys.objects in SQL Server(解釋 SQL Server 中 sys.objects 中的類型代碼)
Typeorm Does not return all data(Typeorm 不返回所有數(shù)據(jù))
Typeorm .loadRelationCountAndMap returns zeros(Typeorm .loadRelationCountAndMap 返回零)
How to convert #39;2016-07-01 01:12:22 PM#39; to #39;2016-07-01 13:12:22#39; hour format?(如何將“2016-07-01 01:12:22 PM轉(zhuǎn)換為“2016-07-01 13:12:22小時格式?)
MS SQL: Should ISDATE() Return quot;1quot; when Cannot Cast as Date?(MS SQL:ISDATE() 是否應(yīng)該返回“1?什么時候不能投射為日期?)
主站蜘蛛池模板: 欧美亚洲综合久久 | 亚洲午夜av久久乱码 | 亚洲精品一区二区三区蜜桃久 | 欧美黄色精品 | 中文成人无字幕乱码精品 | 日韩欧美一区二区三区在线播放 | 亚洲国产一区二区三区 | 欧美激情欧美激情在线五月 | 韩国毛片视频 | 狠狠做深爱婷婷综合一区 | 亚洲精品一区二区三区在线 | 免费不卡视频 | 国产精品福利一区二区三区 | 久久国产精品-国产精品 | 国产免费一二三区 | 天天操天天干天天曰 | 国产一级网站 | 波多野结衣一区二区 | 久久亚洲一区二区三 | 欧美片网站免费 | 国产欧美一区二区三区在线看 | 在线播放中文字幕 | 国产玖玖| 超碰国产在线 | 蜜桃精品视频在线 | 久久久久久亚洲精品 | 亚洲视频在线观看一区二区三区 | 综合久久av | 国产精品乱码一区二区三区 | 2021狠狠干 | 日韩国产精品一区二区三区 | 欧美 日韩 综合 | 97色在线观看免费视频 | 欧美激情精品久久久久久免费 | 91精品国产91久久久久久吃药 | 中文欧美日韩 | 成人av资源在线 | 国产电影精品久久 | a亚洲精品 | 中文字幕日韩一区 | 国产日韩精品在线 |