由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 看了上面,我也来说说俺当年没答出的面试题。
相关主题
怎么变 2D的table为3D 的Does anybody know production rule?
这个新功能我喜欢[转载] a PLSQL question
请教一个SQL query该怎么写请问那里有PLSQL的学习文档的下载地址?
再问个 subquery的问题Access History
How to write the queryOracle 看来还有很长的路
请教个SQL问题请问可不可以在sql语句中用序号表示column
求教sqlzoo euro 2012 第十三题 (转载)Oracle SQL Tunning Problem!
请问这个query该怎么实现?Re: 精通SQL,VB,JAVA,C++(optional)的developer多么? (转载)
相关话题的讨论汇总
话题: qty话题: product话题: year话题: month话题: sum
进入Database版参与讨论
1 (共1页)
B*****g
发帖数: 34098
1
和sql3差不多, 除了month还有year,sql没答出来,用plsql作的,结果工资少了
一万.
(***应该可以假设(year,month,product_id) unique***, 不过最好别这样假设)
YEAR, MONTH, PRODUCT_ID, PRODUCT_QTY
2007, 1, 1, 2
2007, 1, 2, 3
2007, 2, 1, 2
2007, 2, 2, 3
2007, 3, 1, 2
2007, 3, 2, 3
......
Need:
YEAR, PRODUCT_ID, QUATER1_QTY,QUATER2_QTY,QUATER3_QTY, QUATER4_QTY
......
NND, 第一次竟然发错了, 现在应该改好了
b*****e
发帖数: 364
2
SELECT [YEAR], PRODUCT_ID,
SUM(
Case
WHEN MONTH IN (1,2,3) THEN PRODUCT_QTY
ELSE 0
END
) as QUATER1_QTY,
SUM(
Case
WHEN MONTH IN (1,2,3) THEN PRODUCT_QTY
ELSE 0
END
) as QUATER1_QTY,
SUM(
Case
WHEN MONTH IN (4,5,6) THEN PRODUCT_QTY
ELSE 0
END
) as QUATER2_QTY,
SUM(
Case
WHEN MONTH IN (7,8,9) THEN PRODUCT_QTY
ELSE 0
B*****g
发帖数: 34098
3
zan. 想想俺当年太面了。
再延伸一步,每个P_ID,每年都要有显示。当年没有,要求显示year, id,0,0,0,0。

【在 b*****e 的大作中提到】
: SELECT [YEAR], PRODUCT_ID,
: SUM(
: Case
: WHEN MONTH IN (1,2,3) THEN PRODUCT_QTY
: ELSE 0
: END
: ) as QUATER1_QTY,
: SUM(
: Case
: WHEN MONTH IN (1,2,3) THEN PRODUCT_QTY

b*****e
发帖数: 364
4
In SQL server, we can use cross join.
SELECT b.[YEAR], b.PRODUCT_ID,
SUM(
Case
WHEN MONTH IN (1,2,3) THEN PRODUCT_QTY
ELSE 0
END
) as QUATER1_QTY,
...
SUM(
Case
WHEN MONTH IN (10,11,12) THEN PRODUCT_QTY
ELSE 0
END
) as QUATER4_QTY
FROM Table a
RIGHT JOIN (
SELECT DISTINCT t2.[Year],t1.PRODUCT_ID FROM Table t1
Cross JOIN (SELECT DISTINCT [Year] FROM table) t2
) b
ON a.[Year]=b.[Year]
a.
B*****g
发帖数: 34098
5
以后你就在这儿站岗答疑吧。

【在 b*****e 的大作中提到】
: In SQL server, we can use cross join.
: SELECT b.[YEAR], b.PRODUCT_ID,
: SUM(
: Case
: WHEN MONTH IN (1,2,3) THEN PRODUCT_QTY
: ELSE 0
: END
: ) as QUATER1_QTY,
: ...
: SUM(

b*****e
发帖数: 364
6
Ban Men Nong Fu.
I just want to learn something from this board, and share what I know.
g*****a
发帖数: 47
7
sum 可以加条件啊, 学了一招
c*****d
发帖数: 6045
8
其实就是先加条件,后sum

【在 g*****a 的大作中提到】
: sum 可以加条件啊, 学了一招
B*****g
发帖数: 34098
9
顶。

【在 c*****d 的大作中提到】
: 其实就是先加条件,后sum
1 (共1页)
进入Database版参与讨论
相关主题
Re: 精通SQL,VB,JAVA,C++(optional)的developer多么? (转载)How to write the query
plsql 求救--速度太慢了, 咋办呢请教个SQL问题
advices please on learning Oracle求教sqlzoo euro 2012 第十三题 (转载)
DW developer 位置的代码在线测试考什么语言?谢谢!请问这个query该怎么实现?
怎么变 2D的table为3D 的Does anybody know production rule?
这个新功能我喜欢[转载] a PLSQL question
请教一个SQL query该怎么写请问那里有PLSQL的学习文档的下载地址?
再问个 subquery的问题Access History
相关话题的讨论汇总
话题: qty话题: product话题: year话题: month话题: sum