也许这个问题有点含糊。我想创建一个视图或有一个查询更改此 - >如何通过分组多个列来创建视图?
012878 123456 Mike 12345678 Saving 1234.52
012878 123456 Mike 22345678 credit -1534.52
012878 123456 Mike 32345678 Home loan -453234.52
012878 123458 Jean 110SAVING 3213.54
012878 123458 Jean 210Credit -120.34
012878 123458 Jean 310Personal loan -63121.23
对此---->
012878 123456 Mike 12345678 Saving 1234.52
22345678 credit -1534.52
32345678 Home loan -453234.52
012878 123458 Jean 110SAVING 3213.54
210Credit -120.34
310Personal loan -63121.23
我有两个表:
SQL> CREATE TABLE Account (
2 BSB# CHAR(6) NOT NULL, /* Bank BSB number */
3 Customer# NUMBER(10) NOT NULL, /* Customer number */
4 Account# NUMBER(10) NOT NULL, /* Account number */
5 Type VARCHAR2(20) NOT NULL, /* Account type */
6 Balance NUMBER(10,2) NOT NULL, /* Account balance */
7 CONSTRAINT WorksOn_PK PRIMARY KEY(BSB#, Account#),
8 CONSTRAINT WorksOn_FK1 FOREIGN KEY(BSB#, Customer#) REFERENCES Customer(BSB#, Customer#)
9 )
SQL> CREATE TABLE Customer (
2 BSB# CHAR(6) NOT NULL, /* Bank BSB number */
3 Customer# NUMBER(10) NOT NULL, /* Customer number */
4 Name VARCHAR2(30) NOT NULL, /* Customer name */
5 DOB Date, /* Date of birth */
6 Sex CHAR, /* M-Male, F-Female */
7 Address VARCHAR2(50) NOT NULL, /* Customer address */
8 Phone# VARCHAR2(15), /* Phone number */
9 CONSTRAINT Project_PK PRIMARY KEY(BSB#, Customer#),
10 CONSTRAINT Project_FK FOREIGN KEY (BSB#) REFERENCES Bank(BSB#)
11 );
而且以产生第一视图我用这个 - >
create view view_1 AS
select
a.bsb#, a.customer#, c.name, a.account#, a.type, a.balance
from
account a, customer c
where
c.customer# = a.customer# and c.bsb# = a.bsb#
现在我娃nt按bsb#,账号和名称对它进行分组。换句话说,我想消除行并将它们更改为空格或空值。
你的语法显然是Oracle的话我删除了mysql和sql-server标签。 –
这通常是在应用程序层完成的数据操作类型,而不是视图。请记住,表和结果集本质上是无序的,所以如果数据应该从另一行中算出来,那么在列中有一个空值或NULL值是一个坏主意。 –
你正在做的是格式化。在关系数据模型中,表或视图中的每行都必须独立运行。 – dasblinkenlight