boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 求助,oracle里怎么实现这个转化
相关主题
Relational database presentation help
用SSIS EXPORT 到 EXCEL 2010 有2000个COLUMN,可能吗
大家帮我看看这个function 哪里出了问题。 谢谢
MDX Cube
一个奇怪的问题
问个SQL问题
want help on RDBMS
help about SQL for ACCESS
气死我了
is SAS database a RDBMS?
相关话题的讨论汇总
话题: cust话题: 2015话题: prod话题: pivot话题: 买过
进入Database版参与讨论
1 (共1页)
s***c
发帖数: 1664
1
比如一个表
cust date prod
1 1/1/2015 A
1 1/2/2015 B
1 1/3/2015 B
2 1/3/2015 C
2 1/4/2015 D
怎么变成下面这个表,不管customer什么时候买过某个产品,买过几次,只要买过,就
记成1,否则0
cust A B C D
1 1 1 0 0
2 0 0 1 1
谢谢~
tj
发帖数: 957
2
select * from (select distinct cust, cust as c, prod) pivot (count(c) for
prod in ('A','B','C','D'));

【在 s***c 的大作中提到】
: 比如一个表
: cust date prod
: 1 1/1/2015 A
: 1 1/2/2015 B
: 1 1/3/2015 B
: 2 1/3/2015 C
: 2 1/4/2015 D
: 怎么变成下面这个表,不管customer什么时候买过某个产品,买过几次,只要买过,就
: 记成1,否则0
: cust A B C D

w*****m
发帖数: 20421
3
如果是ABCDEFGHI,,,,直到无穷多个呢
PRODUCT永远都在添加
s***c
发帖数: 1664
4
是啊,这个只是表的头几行,要是有很多product呢
tj
发帖数: 957
5
this is pivot table, how wide do you want your table be?
if you do need to get many columns, add xml() before your pivot and you will
get an pivot table for whatever how many columns you have.
then you will have to do xml query to get those columns back.

【在 s***c 的大作中提到】
: 是啊,这个只是表的头几行,要是有很多product呢
m******u
发帖数: 12400
6
你们不要太mean吗。这是一个很好的题目。只是pivot可能不行,这个对于特定ID,把
没有order过的产品,自动标记为0,怎么实现啊。
B*****g
发帖数: 34098
7
就Relational来说,一定会有一个product table,出题的人不合格

【在 m******u 的大作中提到】
: 你们不要太mean吗。这是一个很好的题目。只是pivot可能不行,这个对于特定ID,把
: 没有order过的产品,自动标记为0,怎么实现啊。

c*****d
发帖数: 6045
8
你们的数据库老师是体育老师转行吗?
教出来的学生根本就没理解1NF, 2NF, 3NF in RDBMS Normalization
B*****g
发帖数: 34098
9
有微信了吗?

【在 c*****d 的大作中提到】
: 你们的数据库老师是体育老师转行吗?
: 教出来的学生根本就没理解1NF, 2NF, 3NF in RDBMS Normalization

s***c
发帖数: 1664
10
不好意思啊,我数据库外行。。product table 有的,我一个个type进去了,还好只有
20个product,要有1万个,我就抓瞎了
谢谢tj,发个包子
再弱问下,为什么要create c from cust, 然后count(c) from prod, 是说每个
customer 对于某种product,碰到了,就count成1,而且只count一次,对吗? 不太明
白在这里面是怎么count的
我得找些pivot table的资料看看

【在 B*****g 的大作中提到】
: 就Relational来说,一定会有一个product table,出题的人不合格
tj
发帖数: 957
11
你试试去掉distinct, 或者 cust.
另外不用挨个敲的,
select ''''//prod//''',' from product_table
把/换成pipe- 手机上没有。

【在 s***c 的大作中提到】
: 不好意思啊,我数据库外行。。product table 有的,我一个个type进去了,还好只有
: 20个product,要有1万个,我就抓瞎了
: 谢谢tj,发个包子
: 再弱问下,为什么要create c from cust, 然后count(c) from prod, 是说每个
: customer 对于某种product,碰到了,就count成1,而且只count一次,对吗? 不太明
: 白在这里面是怎么count的
: 我得找些pivot table的资料看看

1 (共1页)
进入Database版参与讨论
相关主题
is SAS database a RDBMS?
ask for help with a simple query!!!
query: in sql server 2005
a sql question
Help on Oracle Query
oracle杂志还真有人读
请教 select distinct
这个sql怎么写? transpose Columns and rows in sql
SQL find distinct values in large table
SQL select one value column for each distinct value another (转载)
相关话题的讨论汇总
话题: cust话题: 2015话题: prod话题: pivot话题: 买过