Database 板


LINE

SQL是没有SELECT 「栏位名称」这种事情的(有哪种资料库有吗?) 所以要SELECT出的结果一定得是资料表其中一个栏位 如果原始资料表就是这样设计,除了原PO使用的衍生资料表之外, SQL2000以上版本可以宣告资料表变数来暂时储存查询需要的资料结构 Declare @T table(id int,type varchar(255),amount int) Insert into @T(id,type,amount) select id , 'meal' as type, meal as amount from consume union all select id , 'travel' as type, travel as amount from consume union all select id , 'clothes' as type, clothes as amount from consume --Union 也是会影响效能,非必要请用Union All即可 Select id,type,amount From @T T Where T.amount>=(select max(amount) from @T T1 where T1.ID=T.ID) 资料表变数的生命周期只存在於工作阶段,所以以上SQL查询可以反覆下 但就是要注意资料表变数的栏位资料长度要对,不要容纳不了原始资料 而造成错误就是了,麻烦了点,但效能比较好(也比用Select * into #T 的暂存资料表要好) ※ 引述《webberhan (练习多"多益"善)》之铭言: : select ttt.id, ttt.type, tt.amount : from : ( : select id , 'meal' as type, meal as amount from consume : union : select id , 'travel' as type, travel as amount from consume : union : select id , 'clothes' as type, clothes as amount from consume : ) ttt : inner join : ( : select id , max(amount) amount : from : ( : select id , 'meal' as type, meal as amount from consume : union : select id , 'travel' as type, travel as amount from consume : union : select id , 'clothes' as type, clothes as amount from consume : ) t : group by id : ) tt : on tt.id=ttt.id and tt.amount=ttt.amount : --这个表格设计的很烂,如果多一种消费项目就要多一个栏位 : --设计好一点就不需要UNION了 : ※ 引述《cmccyc (悲惨的生活)》之铭言: : : (针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行) : : 资料库名称:teradata或 mssql : : 资料库版本: : : 内容/问题描述: : : 我有一个消费table : : ID 餐费 旅行 服饰 : : --------------------------------- : : a 500 100 200 : : b 100 150 300 : : c 100 700 300 : : 我想要针对每个人选出主要消费的项目 : : ID 消费项目 : : ---------------- : : a 餐费 : : b 服饰 : : c 旅行 : : 请问要如何写呢 : : 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.110.97 ※ 编辑: flakchen 来自: 210.64.110.97 (11/20 19:36)
1F:推 webberhan:感谢纠正 11/21 16:29







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP