pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

如何將表格的前兩列堆疊成一列,但也僅將第三

How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發(fā)技
本文介紹了如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我問了一個很類似的問題 之前,但這次的要求有點復雜.我有一張如下所示的表格:

I asked a very similar question earlier, but the requirements this time are a bit more complex. I have a table that looks like the following:

| id | code_1 | code_2 | pair_1 |
|----|--------|--------|--------|
|  1 |     a1 |     a2 |     b1 |
|  2 |     a3 |     a4 | (null) |
|  3 |     a5 | (null) |     b2 |
|  4 |     a6 | (null) | (null) |
|  5 | (null) |     a7 |     b3 |
|  6 | (null) |     a8 | (null) |
|  7 | (null) | (null) |     b4 |
|  8 | (null) | (null) | (null) |

我想將 code_1 和 code_2 堆疊到一個列中,可以通過使用:

I want to stack code_1 and code_2 into a single column, which can be done by using:

select id, code, pair_1 as pair
  from source
       unpivot (code for code_ in (code_1, code_2)) as unpvt;

,產(chǎn)生以下輸出:

| id | code |   pair |
|----|------|--------|
|  1 |   a1 |     b1 |
|  1 |   a2 |     b1 |
|  2 |   a3 | (null) |
|  2 |   a4 | (null) |
|  3 |   a5 |     b2 |
|  4 |   a6 | (null) |
|  5 |   a7 |     b3 |
|  6 |   a8 | (null) |

,但我也想捕獲 code_1pair_1 配對的條件,即每當 code 來自 code_1,它將使用pair_1中的值作為pair;并且每當 code 來自 code_2 時,它總是將 null 用于 pair.

, but I also want to capture the condition that code_1 is paired with pair_1 i.e. whenever code is sourced from code_1, it will use the value in pair_1 for pair; and whenever code is sourced from code_2, it will always use null for pair.

例如,給定原始表,目標表應如下所示:

So for example, given the original table, here is what the target table should look like:

| id | code |   pair |
|----|------|--------|
|  1 |   a1 |     b1 |
|  2 |   a2 | (null) |
|  3 |   a3 | (null) |
|  4 |   a4 | (null) |
|  5 |   a5 |     b2 |
|  6 |   a6 | (null) |
|  7 |   a7 | (null) |
|  8 |   a8 | (null) |

DDL:

http://sqlfiddle.com/#!18/743a5/16

create table source (
  id     int identity(1, 1) primary key,
  code_1 varchar(10),
  code_2 varchar(10),
  pair_1 varchar(10)
);
insert into source values
('a1', 'a2', 'b1'),
('a3', 'a4', null),
('a5', null, 'b2'),
('a6', null, null),
(null, 'a7', 'b3'),
(null, 'a8', null),
(null, null, 'b4'),
(null, null, null);


create table target (
  id   int identity(1, 1) primary key,
  code varchar(10),
  pair varchar(10)
);
insert into target values
('a1', 'b1'),
('a2', null),
('a3', null),
('a4', null),
('a5', 'b2'),
('a6', null),
('a7', null),
('a8', null);

推薦答案

你不能做簡單的UNION ALL嗎?

試試下面的查詢

SELECT * FROM
(
SELECT id, code_1 as code, pair_1 as pair FROM source WHERE code_1 IS NOT NULL
UNION ALL 
SELECT id, code_2 as code, NULL as pair FROM source WHERE code_2 IS NOT NULL
) UnionTable
ORDER BY id

這篇關于如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計算值創(chuàng)建計算值)
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
Join instead of correlated subquery(加入而不是相關子查詢)
主站蜘蛛池模板: CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 超声波气象站_防爆气象站_空气质量监测站_负氧离子检测仪-风途物联网 | 南京泽朗生物科技有限公司-液体饮料代加工_果汁饮料代加工_固体饮料代加工 | 十二星座查询(性格特点分析、星座运势解读) - 玄米星座网 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 标策网-专注公司商业知识服务、助力企业发展 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 标策网-专注公司商业知识服务、助力企业发展 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | LCD3D打印机|教育|桌面|光固化|FDM3D打印机|3D打印设备-广州造维科技有限公司 | 自动配料系统_称重配料控制系统厂家 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 高硼硅玻璃|水位计玻璃板|光学三棱镜-邯郸奥维玻璃科技有限公司 高温高压釜(氢化反应釜)百科 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 无痕胶_可移胶_无痕双面胶带_可移无痕胶厂家-东莞凯峰 | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 |