WHY getting dupes in Pivot
A reader, February 28, 2004 - 12:33 pm UTC
I need to get pivot results for those employees whose deptno belongs to deptno of enames matching 'CLA%'.
The inner query returs 3 rows but the pivot gives me columns for ename_6 also.???( pls note there are 2 names like CLA in empl table )
If create a temp table for the inner query it gives me the right results. How to solve this dup problem.
Thanx
1)
SELECT d.deptno,
e.ename,
e.sal,
e.job,
ROW_NUMBER () OVER (PARTITION BY e.deptno ORDER BY job) rn
FROM dept d, empl e
WHERE e.deptno = d.deptno
AND d.deptno IN (SELECT deptno
FROM empl
WHERE ename LIKE 'CLA%')
DEPTNO ENAME SAL JOB RN
------ ---------- --------- --------- ---------------------------------------
10 CLARKEY 1300.00 CLERK 1
10 CLARK 2450.00 MANAGER 2
10 KING 5000.00 PRESIDENT 3
3 rows selected
2)
SELECT deptno,
MAX (DECODE (rn, 1, ename, NULL)) ename_1,
MAX (DECODE (rn, 1, sal, NULL)) sal_1,
MAX (DECODE (rn, 1, job, NULL)) job_1,
MAX (DECODE (rn, 2, ename, NULL)) ename_2,
MAX (DECODE (rn, 2, sal, NULL)) sal_2,
MAX (DECODE (rn, 2, job, NULL)) job_2,
MAX (DECODE (rn, 3, ename, NULL)) ename_3,
MAX (DECODE (rn, 3, sal, NULL)) sal_3,
MAX (DECODE (rn, 3, job, NULL)) job_3,
MAX (DECODE (rn, 4, ename, NULL)) ename_4,
MAX (DECODE (rn, 4, sal, NULL)) sal_4,
MAX (DECODE (rn, 4, job, NULL)) job_4,
MAX (DECODE (Rn, 5, ename, NULL)) ename_5,
MAX (DECODE (rn, 5, sal, NULL)) sal_5,
MAX (DECODE (rn, 5, job, NULL)) job_5,
MAX (DECODE (rn, 6, ename, NULL)) ename_6,
MAX (DECODE (rn, 6, sal, NULL)) sal_6,
MAX (DECODE (rn, 6, job, NULL)) job_6
FROM (SELECT d.deptno,
e.ename,
e.sal,
e.job,
ROW_NUMBER () OVER (PARTITION BY D.deptno ORDER BY job) rn
FROM dept d, empl e
WHERE e.deptno = d.deptno
AND d.deptno IN (SELECT deptno
FROM empl
WHERE ename LIKE 'CLA%'))
GROUP BY DEPTNO;
o/p:
DEPTNO ENAME_1 SAL_1 JOB_1 ENAME_2 SAL_2 JOB_2 ENAME_3 SAL_3 JOB_3 ENAME_4 SAL_4 JOB_4 ENAME_5 SAL_5 JOB_5 ENAME_6 SAL_6 JOB_6
10 CLARKEY 1300 CLERK CLARKEY 1300 CLERK CLARK 2450 MANAGER CLARK 2450 MANAGER KING 5000 PRESIDENT KING 5000 PRESIDENT
3)
CREATE TABLE TEMP_EMPL AS
SELECT d.deptno,
e.ename,
e.sal,
e.job,
ROW_NUMBER () OVER (PARTITION BY e.deptno ORDER BY job) rn
FROM dept d, empl e
WHERE e.deptno = d.deptno
AND d.deptno IN (SELECT deptno
FROM empl
WHERE ename LIKE 'CLA%')
SELECT deptno,
MAX (DECODE (rn, 1, ename, NULL)) ename_1,
MAX (DECODE (rn, 1, sal, NULL)) sal_1,
MAX (DECODE (rn, 1, job, NULL)) job_1,
MAX (DECODE (rn, 2, ename, NULL)) ename_2,
MAX (DECODE (rn, 2, sal, NULL)) sal_2,
MAX (DECODE (rn, 2, job, NULL)) job_2,
MAX (DECODE (rn, 3, ename, NULL)) ename_3,
MAX (DECODE (rn, 3, sal, NULL)) sal_3,
MAX (DECODE (rn, 3, job, NULL)) job_3,
MAX (DECODE (rn, 4, ename, NULL)) ename_4,
MAX (DECODE (rn, 4, sal, NULL)) sal_4,
MAX (DECODE (rn, 4, job, NULL)) job_4,
MAX (DECODE (Rn, 5, ename, NULL)) ename_5,
MAX (DECODE (rn, 5, sal, NULL)) sal_5,
MAX (DECODE (rn, 5, job, NULL)) job_5,
MAX (DECODE (rn, 6, ename, NULL)) ename_6,
MAX (DECODE (rn, 6, sal, NULL)) sal_6,
MAX (DECODE (rn, 6, job, NULL)) job_6
FROM (SELECT * FROM TEMP_EMPL)
GROUP BY DEPTNO ;
o/p:
DEPTNO ENAME_1 SAL_1 JOB_1 ENAME_2 SAL_2 JOB_2 ENAME_3 SAL_3 JOB_3 ENAME_4 SAL_4 JOB_4 ENAME_5 SAL_5 JOB_5 ENAME_6 SAL_6 JOB_6
10 CLARKEY 1300 CLERK CLARK 2450 MANAGER KING 5000 PRESIDENT
********************************************************
CREATE TABLE DEPT (
DEPTNO NUMBER (2) NOT NULL,
DNAME VARCHAR2 (14),
LOC VARCHAR2 (13),
CONSTRAINT PK_DEPT
PRIMARY KEY ( DEPTNO ) );
CREATE TABLE EMPL (
EMPNO NUMBER (4),
ENAME VARCHAR2 (10),
JOB VARCHAR2 (9),
MGR NUMBER (4),
HIREDATE DATE,
SAL NUMBER (7,2),
COMM NUMBER (7,2),
DEPTNO NUMBER (2));
ALTER TABLE EMPl ADD CONSTRAINT FK_DEPTNO
FOREIGN KEY (DEPTNO)
REFERENCES DEPT (DEPTNO);
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
30, 'SALES', 'CHICAGO');
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES (
40, 'OPERATIONS', 'BOSTON');
COMMIT;
INSERT INTO EMPL ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
'7782', 'CLARK', 'MANAGER', '7839', TO_Date( '06/09/1981 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
, '2450', NULL, 10);
INSERT INTO EMPL ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
'7839', 'KING', 'PRESIDENT', NULL, TO_Date( '11/17/1981 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
, '5000', NULL, 10);
INSERT INTO EMPL ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO ) VALUES (
'7934', 'CLARKEY', 'CLERK', '7782', TO_Date( '01/23/1982 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS AM')
, '1300', NULL, 10);
COMMIT;
February 28, 2004 - 12:54 pm UTC
the only way I get your results is to "accidently" load the data in there twice.
Be interseting for you to add "rowid" to the results and see if in fact clarkey is the same clarkey or if you accidently loaded the data twice before running the second query.
Pivot Query
a reader, June 19, 2006 - 4:56 pm UTC
Tom ,
I have
create table mouse_Table ( id number(22), room number(5) , project_id number(22) , genotype varchar2(3) , sex varchar2(3))
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(73, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(74, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(75, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(76, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(77, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(78, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(79, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(80, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(82, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(0, '247A', 2000, 'unav', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(0, '247A', 2000, 'unav', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(0, '247A', 2000, 'unav', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(1, '247A', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(2, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(3, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(4, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(5, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(6, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(31, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(40, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(41, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(42, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(43, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(44, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(64, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(65, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(66, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(67, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(68, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(69, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(71, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(92, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(93, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(94, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(95, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(96, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(97, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(98, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(99, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(101, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(136, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(137, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(138, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(139, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(140, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(141, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(173, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(175, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(176, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(177, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(156, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(157, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(158, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(159, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(160, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(200, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(201, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(202, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(203, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(204, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(205, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(206, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(207, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(208, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(209, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(210, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(211, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(192, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(193, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(194, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(197, '208', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(199, '208', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(46, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(47, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(48, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(51, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(54, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(55, '247', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(56, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(57, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(58, '247', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(59, '247', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(60, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(61, '247', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(62, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(32, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(33, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(34, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(35, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(36, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(37, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(38, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(39, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(24, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(25, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(26, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(27, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(28, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(7, '247A', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(8, '247A', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(9, '247A', 2000, 'TBD', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(10, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(11, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(12, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(13, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(14, '247A', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(17, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(18, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(19, '247A', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(20, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(21, '247A', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(83, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(84, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(85, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(86, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(87, '247', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(90, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(91, '247', 2000, 'wt', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(127, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(130, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(132, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(134, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(181, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(182, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(183, '208', 2000, 'TBD', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(184, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(105, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(110, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(125, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(126, '208', 2000, 'TBD', 'TBD');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(162, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(163, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(164, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(165, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(166, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(167, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(168, '208', 2000, 'wt', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(171, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(172, '208', 2000, 'hom', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(143, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(144, '208', 2000, 'hom', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(145, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(146, '208', 2000, 'hom', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(147, '208', 2000, 'hom', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(149, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(150, '208', 2000, 'hom', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(151, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(152, '208', 2000, 'het', 'M');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(154, '208', 2000, 'het', 'F');
Insert into MOUSE_TABLE
(ID, ROOM, PROJ_ID, GENOTYPE, SEX)
Values
(155, '208', 2000, 'het', 'F');
COMMIT;
I want a pivot query which would give
room , 'het'_M_count , 'hom'_M_count , 'wt'_M_count and similar for female
June 19, 2006 - 6:55 pm UTC
arg, don't you just hate it when people use numbers to store strings (fixed that for you - room is a string).
arg, point 2, don't you just hate it when people use one column name in the create table and another in the insert?
arg, point 3, we could have gotten away with a slightly more concise example :) bigger is not always better...
this is a pretty simple pivot, did you search for pivot on this site? and see the examples.
ops$tkyte@ORA9IR2> select room,
2 count( case when sex = 'M' and genotype = 'het' then 1 end ) het_m_count,
3 count( case when sex = 'F' and genotype = 'het' then 1 end ) het_f_count,
4 count( case when sex = 'M' and genotype = 'hom' then 1 end ) hom_m_count,
5 count( case when sex = 'F' and genotype = 'hom' then 1 end ) hom_f_count,
6 count( case when sex = 'M' and genotype = 'wt' then 1 end ) wt_m_count,
7 count( case when sex = 'F' and genotype = 'wt' then 1 end ) wt_f_count
8 from mouse_table
9 group by room
10 /
ROOM HET_M_COUNT HET_F_COUNT HOM_M_COUNT HOM_F_COUNT WT_M_COUNT WT_F_COUNT
----- ----------- ----------- ----------- ----------- ---------- ----------
208 19 12 8 4 12 2
247 0 1 0 0 3 9
247A 2 0 0 0 16 17