Please explain to me this sql query
Select * from emp ewhere 2 > (select count (sal) from emp where the e.sal < sal)
It gives higher and the second highest salary, but how it works I HAV eno no idea please let me know briefly.
Hello
is
Welcome to the forum!
Thus, you have a query like
SELECT *
FROM emp e
WHERE 2 > x;
and you want to understand how it works. I guess the part that you don't understand is so x, x display.
SELECT e.*
, x
FROM emp e
WHERE 2 > x;
Since the clause WHERE eliminates most of the lines, we will not use a WHERE clause for now. Also, we will simply display a couple of columns, just so that we can concentrate on the important parts better. We will only display the sal (because the query has something to do with the highest sal) and something unique on each line, like ename. Is, try to run something like this:
SELECT ename, sal
, (
SELECT COUNT (sal)
FROM emp
WHERE e.sal < sal
) AS x
FROM emp e
ORDER BY sal
;
Output:
ENAME SAL X
---------- ---------- ----------
SMITH 800 13
JAMES 950 12
ADAMS 1100 11
WARD 1250 9
MARTIN 1250 9
MILLER 1300 8
TURNER 1500 7
ALLEN 1600 6
CLARK 2450 5
BLAKE 2850 4
JONES 2975 3
SCOTT 3000 1
FORD 3000 1
KING 5000 0
You see what x is now? This is the number of lines where sal is higher than sal on the current line.
Nobody has one of its KING sal, so x = 0 to the rank of KING.
Only 1 person (that is, the KING) has a higher sal of SCOTT, so x = 1 on the line for SCOTT.
13 persons (that is, everyone except SMITH) has a greater sal then SMITH, so x = 13 on the BOF SMITH line.
Tags: Database
Similar Questions
-
Please help me with this SQL query
I'm practicing of SQL queries and met one involving the extraction of data from 3 different tables.
The three paintings are as below
< pre >
Country
Location_id country
LOC1 Spain
loc2 England
LOC3 Spain
loc4 USA
loc5 Italy
loc6 USA
loc7 USA
< / pre >
< pre >
User
user_id location_id
loc1 U1
loc1 U2
loc2 U3
loc2 U4
loc1 U5
U6 loc3
< / pre >
< pre >
Publish
user_id post_id
P1 u1
P2 u1
U2 P3
P4 u3
P5 u1
P6 u2
< / pre >
I am trying to write a SQL query - for each country of the users, showing the average number of positions
I understand the logic behind all this that we must first consolidate all locations, and then the users in one country and then find the way to their positions.
But, I'm having a difficulty to this format SQL. Could someone help me please with this request.
Thank you.Select
Country.Country,
Count (*) Totalpostspercountry,
Count (distinct post.user_id) Totaldistincuserspercountry,
count (*) / count (distinct post.user_id) Avgpostsperuserbycountry
Of
countries, have, post
where country.location_id = muser.location_id
and muser.user_id = post.user_id
Country.country groupThe output is like this for your sample data - hope that's what you're looking for :)
COUNTRY, TOTALPOSTSPERCOUNTRY, TOTALDISTINCUSERSPERCOUNTRY, AVGPOSTSPERUSERBYCOUNTRY
In England, 1, 1, 1.
Spain, 5, 2, 2.5. -
Please help me write this SQL query...
Thanks in advanceHi everyone, Please help me in this query. A patient can multiple types of Adresses (types P,M,D).If they have all the 3 types i need to select type: p and if they have (M and D) i need to select type M,and if they have only type D i have to select that. For each address i need to validate whether that particular address is valid or not (by start date and end date and valid flag) Patient table ============= Patient_id First_name last_name 1 sanjay kumar 2 ajay singh 3 Mike John Adress table ============ address_id patient_id adresss city type startdate enddate valid_flg 1 1 6222 dsadsa P 01/01/2007 01/01/2010 2 1 63333 dsad M 01/02/2006 01/01/2007 N 3 1 64564 fdf M 01/01/2008 07/01/2009 4 1 654757 fsdfsa D 01/02/2008 09/10/2009 5 2 fsdfsd fsdfsd M 01/03/2007 09/10/2009 6 2 jhkjk dsad D 01/01/2007 10/10/2010 7 3 asfd sfds D 01/02/2008 10/10/2009 output ===== 1 sanjay kumar 6222 dsadsa P 01/01/2007 01/01/2010 2 ajay singh fsdfsd fsdfsd M 01/03/2007 09/10/2009 3 mike john asfd sfds D 01/02/2008 10/10/2009
PhaniHello, Fabienne,.
This race for you (twisted code of Sarma):
SELECT patient_id, first_name, last_name, address, city, type, startdate, enddate FROM ( SELECT a.patient_id patient_id, first_name, last_name, address, city, type, startdate, enddate, ROW_NUMBER() OVER (PARTITION BY p.patient_id ORDER BY CASE type WHEN 'P' THEN 1 WHEN 'M' THEN 2 WHEN 'D' THEN 3 END) rn FROM patient p JOIN address a ON (p.patient_id = a.patient_id ) WHERE NVL(valid_flg, 'X') != 'N' AND SYSDATE BETWEEN startdate AND NVL(enddate, SYSDATE) ) WHERE rn = 1;
Edit, currently in the trial:
With Patient AS ( SELECT 1 Patient_id , 'sanjay' First_name, 'kumar' last_name FROM DUAL UNION ALL SELECT 2, 'ajay', 'singh' FROM DUAL UNION ALL SELECT 3, 'Mike', 'John' FROM DUAL), Address AS ( SELECT 1 address_id, 1 patient_id, '6222' address, 'dsadsa' city, 'P' type, to_date('01/01/2007', 'DD/MM/YYYY') startdate, to_date('01/01/2010', 'DD/MM/YYYY') enddate, NULL valid_flg FROM DUAL UNION ALL SELECT 2,1,'63333','dsad','M', to_date('01/02/2006', 'DD/MM/YYYY'), to_date('01/01/2007', 'DD/MM/YYYY'), ' N' FROM DUAL UNION ALL SELECT 3,1,'64564','fdf','M', to_date('01/01/2008', 'DD/MM/YYYY'), to_date('07/01/2009', 'DD/MM/YYYY'), NULL FROM DUAL UNION ALL SELECT 4,1,'654757','fsdfsa','D', to_date('01/02/2008', 'DD/MM/YYYY'), to_date('09/10/2009', 'DD/MM/YYYY'), NULL FROM DUAL UNION ALL SELECT 5,2,'fsdfsd ','fsdfsd','M', to_date('01/03/2007', 'DD/MM/YYYY'), to_date('09/10/2009', 'DD/MM/YYYY'), NULL FROM DUAL UNION ALL SELECT 6,2,' jhkjk','dsad','D', to_date('01/01/2007', 'DD/MM/YYYY'), to_date('10/10/2010', 'DD/MM/YYYY'), NULL FROM DUAL UNION ALL SELECT 7,3,'asfd',' sfds',' D', to_date('01/02/2008', 'DD/MM/YYYY'), to_date('10/10/2009', 'DD/MM/YYYY'), NULL FROM DUAL) -- end test data SELECT patient_id, first_name, last_name, address, city, type, startdate, enddate FROM ( SELECT a.patient_id patient_id, first_name, last_name, address, city, type, startdate, enddate, ROW_NUMBER() OVER (PARTITION BY p.patient_id ORDER BY CASE type WHEN 'P' THEN 1 WHEN 'M' THEN 2 WHEN 'D' THEN 3 END) rn FROM patient p JOIN address a ON (p.patient_id = a.patient_id ) WHERE NVL(valid_flg, 'X') != 'N' AND SYSDATE BETWEEN startdate AND NVL(enddate, SYSDATE) ) WHERE rn = 1; PATIENT_ID FIRST_ LAST_ ADDRESS CITY TY STARTDATE ENDDATE ---------- ------ ----- ------- ------ -- --------- --------- 1 sanjay kumar 6222 dsadsa P 01-JAN-07 01-JAN-10 2 ajay singh fsdfsd fsdfsd M 01-MAR-07 09-OCT-09 3 Mike John asfd sfds D 01-FEB-08 10-OCT-09
-
Please help me fix this SQL query...
Hi, please consider following:
create table test (col varchar2 (255))
insert into test values ("TERM").
Insert test values ("VOLUME");
Select the test pass where pass in ('TIME', 'VOLUME');
This property returns the rows.
but my input string is a comma-separated list:
DURATION, VOLUME
so I try
Select the test pass where col to (replace (' DURATION, VOLUME, ',' "'," '));
but no result. Or:
Select the test pass where col in ("' | replace (' DURATION, VOLUME, ','" ', "') |") ') ;
However
Select "' | Replace (' DURATION, VOLUME, ',' "'," ') | " ' the double
gives "DURATION", "VOLUME".
then why does it work?
hope you can help. Thank youconvert stringlist in lines and then use in the clause...
SELECT col FROM test WHERE col IN (SELECT * FROM (SELECT TRIM( SUBSTR ( txt , INSTR (txt, ',', 1, level ) + 1 , INSTR (txt, ',', 1, level+1 ) - INSTR (txt, ',', 1, level) -1 ) ) AS token FROM ( SELECT ','||'DURATION,VOLUME'||',' AS txt FROM dual ) CONNECT BY level <= LENGTH(txt)-LENGTH(REPLACE(txt,',',''))-1 ) )
Ravi Kumar
-
How do I get this sql query?
Hi all
I'm using oracle 11g.
I have a table as below:
[code] create table id_test)
Identification number, name varchar2 (20)
) ;
[/ code]
And records like below:
[code]
ID NAME
1 sr
1 ds
2 sr
DS 2
3 sr
[/ code]
where I want to select only the id that have only the name as "sr."
But as I have 100 names cannot put a not in condition to check other names.
The expected result would be like:
[code]
ID NAME
3 sr
[/ code]
Concerning
Dale
Do you want to max (id) name = "SR"... Try the below
SELECT id,
name
GO (select id,
name,
ROW_NUMBER() over (ORDER BY id desc) rn
of id_test
WHERE name = 'sr')
WHERE rn = 1
OR
SELECT MAX id (id),
name
Of id_test
WHERE name = 'sr '.
GROUP BY name.
OR if you want to get the id which is only in SR, then try it out below
SELECT id,
name
Id_test A1
WHERE name = 'sr '.
AND NOT EXISTS (SELECT 1 from id_test a2
WHERE a1.id = a2.id
AND name! = « sr ») ;
Post edited by: 000000
-
PLAN to EXPLAIN verbose output when you ask explain simple plan on SQL
Hello. In short, I have two questions: first, inability to run EXPLAIN PLAN via SET AUTOTRACE ON EXPLAIN and second, extremely detailed output when I connect as SYSDBA to bypass the first issue.
Thus, question number one:
I am trying to obtain an EXPLAIN PLAN via SET AUTOTRACE ON EXPLAIN to a simple SQL query:
So, first question, why I get this error? Object should be available to everyone, right?1 select decode(rownum,1,'JAN', 2,'FEB',3,'MAR',4,'APR',5,'MAY',6,'JUN',7,'JUL',8,'AUG',9,'SEP',10,'OCT',11,'NOV',12,'DEC') 2* from all_objects where rownum<13 HR@XE> / DEC --- JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 12 rows selected. HR@XE> set autotrace on explain HR@XE> / DEC --- JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 12 rows selected. Execution Plan ---------------------------------------------------------- ERROR: ORA-01039: insufficient privileges on underlying objects of the view
To work around this I connect as sysdba and get the second issue: the following extremely detailed output
Thanks in advance.HR@XE> connect / as sysdba Connected. SYS@XE> select decode(rownum,1,'JAN', 2,'FEB',3,'MAR',4,'APR',5,'MAY',6,'JUN',7,'JUL',8,'AUG',9,'SEP',10,'OCT',11,'NOV',12,'DEC') 2 from all_objects where rownum<13; DEC --- JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 12 rows selected. SYS@XE> set autotrace on explain SYS@XE> / DEC --- JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC 12 rows selected. Execution Plan ---------------------------------------------------------- Plan hash value: 1291336664 -------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 12 | 3240 | 5 (20)| 00:00:01 | |* 1 | COUNT STOPKEY | | | | | | |* 2 | FILTER | | | | | | |* 3 | HASH JOIN | | 32 | 8640 | 5 (20)| 00:00:01 | | 4 | INDEX FULL SCAN | I_USER2 | 49 | 1078 | 1 (0)| 00:00:01 | |* 5 | HASH JOIN | | 32 | 5248 | 4 (25)| 00:00:01 | | 6 | INDEX FULL SCAN | I_USER2 | 49 | 196 | 1 (0)| 00:00:01 | |* 7 | TABLE ACCESS FULL | OBJ$ | 33 | 2640 | 2 (0)| 00:00:01 | |* 8 | TABLE ACCESS BY INDEX ROWID | IND$ | 1 | 8 | 2 (0)| 00:00:01 | |* 9 | INDEX UNIQUE SCAN | I_IND1 | 1 | | 1 (0)| 00:00:01 | |* 10 | HASH JOIN | | 1 | 24 | 3 (34)| 00:00:01 | |* 11 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 2 (0)| 00:00:01 | | 12 | FIXED TABLE FULL | X$KZSRO | 100 | 1300 | 0 (0)| 00:00:01 | |* 13 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 14 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 15 | NESTED LOOPS | | | | | | | 16 | NESTED LOOPS | | 1 | 73 | 6 (0)| 00:00:01 | | 17 | NESTED LOOPS | | 1 | 63 | 4 (0)| 00:00:01 | | 18 | NESTED LOOPS | | 1 | 52 | 3 (0)| 00:00:01 | | 19 | MERGE JOIN CARTESIAN | | 1 | 48 | 2 (0)| 00:00:01 | |* 20 | INDEX RANGE SCAN | I_OBJ5 | 1 | 35 | 2 (0)| 00:00:01 | | 21 | BUFFER SORT | | 100 | 1300 | 0 (0)| 00:00:01 | | 22 | FIXED TABLE FULL | X$KZSRO | 100 | 1300 | 0 (0)| 00:00:01 | |* 23 | INDEX RANGE SCAN | I_USER2 | 1 | 4 | 1 (0)| 00:00:01 | |* 24 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 1 (0)| 00:00:01 | |* 25 | INDEX RANGE SCAN | I_DEPENDENCY1 | 4 | | 1 (0)| 00:00:01 | |* 26 | TABLE ACCESS BY INDEX ROWID | DEPENDENCY$ | 1 | 10 | 2 (0)| 00:00:01 | |* 27 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 28 | HASH JOIN | | 1 | 24 | 3 (34)| 00:00:01 | |* 29 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 2 (0)| 00:00:01 | | 30 | FIXED TABLE FULL | X$KZSRO | 100 | 1300 | 0 (0)| 00:00:01 | |* 31 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 32 | NESTED LOOPS | | 2 | 48 | 2 (0)| 00:00:01 | |* 33 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 2 (0)| 00:00:01 | |* 34 | FIXED TABLE FULL | X$KZSRO | 2 | 26 | 0 (0)| 00:00:01 | | 35 | NESTED LOOPS | | 1 | 38 | 2 (0)| 00:00:01 | | 36 | NESTED LOOPS | | 1 | 25 | 2 (0)| 00:00:01 | |* 37 | TABLE ACCESS BY INDEX ROWID | TRIGGER$ | 1 | 14 | 1 (0)| 00:00:01 | |* 38 | INDEX UNIQUE SCAN | I_TRIGGER2 | 1 | | 0 (0)| 00:00:01 | |* 39 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 1 (0)| 00:00:01 | |* 40 | FIXED TABLE FULL | X$KZSRO | 1 | 13 | 0 (0)| 00:00:01 | |* 41 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 42 | NESTED LOOPS | | | | | | | 43 | NESTED LOOPS | | 1 | 73 | 6 (0)| 00:00:01 | | 44 | NESTED LOOPS | | 1 | 63 | 4 (0)| 00:00:01 | | 45 | NESTED LOOPS | | 1 | 52 | 3 (0)| 00:00:01 | | 46 | MERGE JOIN CARTESIAN | | 1 | 48 | 2 (0)| 00:00:01 | |* 47 | INDEX RANGE SCAN | I_OBJ5 | 1 | 35 | 2 (0)| 00:00:01 | | 48 | BUFFER SORT | | 100 | 1300 | 0 (0)| 00:00:01 | | 49 | FIXED TABLE FULL | X$KZSRO | 100 | 1300 | 0 (0)| 00:00:01 | |* 50 | INDEX RANGE SCAN | I_USER2 | 1 | 4 | 1 (0)| 00:00:01 | |* 51 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 1 (0)| 00:00:01 | |* 52 | INDEX RANGE SCAN | I_DEPENDENCY1 | 4 | | 1 (0)| 00:00:01 | |* 53 | TABLE ACCESS BY INDEX ROWID | DEPENDENCY$ | 1 | 10 | 2 (0)| 00:00:01 | |* 54 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 55 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 56 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 57 | NESTED LOOPS | | 2 | 68 | 2 (0)| 00:00:01 | | 58 | NESTED LOOPS | | 1 | 21 | 2 (0)| 00:00:01 | | 59 | TABLE ACCESS BY INDEX ROWID | TABPART$ | 1 | 10 | 1 (0)| 00:00:01 | |* 60 | INDEX UNIQUE SCAN | I_TABPART_OBJ$ | 1 | | 0 (0)| 00:00:01 | |* 61 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 11 | 1 (0)| 00:00:01 | |* 62 | FIXED TABLE FULL | X$KZSRO | 2 | 26 | 0 (0)| 00:00:01 | |* 63 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 64 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 65 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 66 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 67 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 68 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 69 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 70 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 71 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 72 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 73 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 74 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 75 | VIEW | | 1 | 13 | 2 (0)| 00:00:01 | | 76 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 | |* 77 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 78 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 79 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 80 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 81 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | |* 82 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 83 | NESTED LOOPS | | 2 | 42 | 2 (0)| 00:00:01 | |* 84 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 8 | 2 (0)| 00:00:01 | |* 85 | FIXED TABLE FULL | X$KZSRO | 2 | 26 | 0 (0)| 00:00:01 | |* 86 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 87 | NESTED LOOPS | | 2 | 42 | 2 (0)| 00:00:01 | |* 88 | INDEX RANGE SCAN | I_OBJAUTH1 | 1 | 8 | 2 (0)| 00:00:01 | |* 89 | FIXED TABLE FULL | X$KZSRO | 2 | 26 | 0 (0)| 00:00:01 | |* 90 | FIXED TABLE FULL | X$KZSPR | 1 | 26 | 0 (0)| 00:00:01 | | 91 | VIEW | | 1 | 16 | 1 (0)| 00:00:01 | | 92 | SORT GROUP BY | | 1 | 86 | 1 (0)| 00:00:01 | | 93 | NESTED LOOPS | | 1 | 86 | 1 (0)| 00:00:01 | | 94 | MERGE JOIN CARTESIAN | | 1 | 78 | 0 (0)| 00:00:01 | | 95 | NESTED LOOPS | | 1 | 65 | 0 (0)| 00:00:01 | |* 96 | INDEX UNIQUE SCAN | I_OLAP_CUBES$ | 1 | 13 | 0 (0)| 00:00:01 | |* 97 | TABLE ACCESS BY INDEX ROWID| OLAP_DIMENSIONALITY$ | 1 | 52 | 0 (0)| 00:00:01 | |* 98 | INDEX RANGE SCAN | I_OLAP_DIMENSIONALITY$ | 1 | | 0 (0)| 00:00:01 | | 99 | BUFFER SORT | | 1 | 13 | 0 (0)| 00:00:01 | | 100 | INDEX FULL SCAN | I_OLAP_CUBE_DIMENSIONS$ | 1 | 13 | 0 (0)| 00:00:01 | |*101 | INDEX RANGE SCAN | I_OBJ1 | 1 | 8 | 1 (0)| 00:00:01 | | 102 | NESTED LOOPS | | 1 | 30 | 2 (0)| 00:00:01 | |*103 | INDEX SKIP SCAN | I_USER2 | 1 | 20 | 1 (0)| 00:00:01 | |*104 | INDEX RANGE SCAN | I_OBJ4 | 1 | 10 | 1 (0)| 00:00:01 | -------------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter(ROWNUM<13) 2 - filter(("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1 AND (SELECT 1 FROM "SYS"."IND$" "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9))=1) AND (("O"."SPARE3"=USERENV('SCHEMAID') OR "O"."SPARE3"=1) OR "O"."TYPE#"=13 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA",SYS."X$KZSRO" "X$KZSRO" WHERE "OA"."GRANTEE#"="KZSROROL" AND "OA"."OBJ#"=:B2 AND ("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)) OR EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE "INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-184) OR (-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)))) OR ("O"."TYPE#"=1 OR "O"."TYPE#"=2 OR "O"."TYPE#"=3 OR "O"."TYPE#"=4 OR "O"."TYPE#"=5 OR "O"."TYPE#"=19 OR "O"."TYPE#"=20 OR "O"."TYPE#"=34 OR "O"."TYPE#"=35) AND EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE "INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR (-"KZSPRPRV")=(-48) OR (-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50))) OR "O"."TYPE#"=11 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA","SYS"."DEPENDENCY$" "DEP",SYS."USER$" "U",SYS."OBJ$" "O",SYS."X$KZSRO" "X$KZSRO" WHERE "O"."NAME"=:B3 AND "O"."SPARE3"=:B4 AND "O"."TYPE#"=9 AND "O"."TYPE#"<>88 AND "O"."OWNER#"="U"."USER#" AND "DEP"."D_OBJ#"=:B5 AND "DEP"."P_OBJ#"="O"."OBJ#" AND "OA"."OBJ#"="O"."OBJ#" AND "OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL") OR EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))) OR ("O"."TYPE#"=7 OR "O"."TYPE#"=8 OR "O"."TYPE#"=9 OR "O"."TYPE#"=28 OR "O"."TYPE#"=29 OR "O"."TYPE#"=30 OR "O"."TYPE#"=56) AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA",SYS."X$KZSRO" "X$KZSRO" WHERE "OA"."GRANTEE#"="KZSROROL" AND "OA"."OBJ#"=:B6 AND ("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26)) OR EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE "INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-144) OR (-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)))) OR "O"."TYPE#"<>14 AND "O"."TYPE#"<>28 AND "O"."TYPE#"<>29 AND "O"."TYPE#"<>30 AND "O"."TYPE#"<>56 AND "O"."TYPE#"<>93 AND "O"."TYPE#"<>7 AND "O"."TYPE#"<>8 AND "O"."TYPE#"<>9 AND "O"."TYPE#"<>11 AND "O"."TYPE#"<>12 AND "O"."TYPE#"<>13 AND EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OBJAUTH$",SYS."X$KZSRO" "X$KZSRO" WHERE "GRANTEE#"="KZSROROL" AND "OBJ#"=:B7 AND ("PRIVILEGE#"=3 OR "PRIVILEGE#"=6 OR "PRIVILEGE#"=7 OR "PRIVILEGE#"=9 OR "PRIVILEGE#"=10 OR "PRIVILEGE#"=11 OR "PRIVILEGE#"=12 OR "PRIVILEGE#"=16 OR "PRIVILEGE#"=17 OR "PRIVILEGE#"=18)) OR "O"."TYPE#"=12 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA","SYS"."TRIGGER$" "T",SYS."X$KZSRO" "X$KZSRO" WHERE "OA"."GRANTEE#"="KZSROROL" AND "T"."OBJ#"=:B8 AND BITAND("T"."PROPERTY",24)=0 AND "OA"."OBJ#"="T"."BASEOBJECT" AND "OA"."PRIVILEGE#"=26) OR EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-152) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))) OR "O"."TYPE#"=14 AND ( EXISTS (SELECT 0 FROM "SYS"."OBJAUTH$" "OA","SYS"."DEPENDENCY$" "DEP",SYS."USER$" "U",SYS."OBJ$" "O",SYS."X$KZSRO" "X$KZSRO" WHERE "O"."NAME"=:B9 AND "O"."SPARE3"=:B10 AND "O"."TYPE#"=13 AND "O"."TYPE#"<>88 AND "O"."OWNER#"="U"."USER#" AND "DEP"."D_OBJ#"=:B11 AND "DEP"."P_OBJ#"="O"."OBJ#" AND "OA"."OBJ#"="O"."OBJ#" AND "OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL") OR EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE'))) OR ("O"."TYPE#"=66 OR "O"."TYPE#"=100) AND EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE (-"KZSPRPRV")=(-265) AND "INST_ID"=USERENV('INSTANCE')) OR ("O"."TYPE#"=67 OR "O"."TYPE#"=79) AND EXISTS (SELECT 0 FROM SYS."X$KZSPR" "X$KZSPR" WHERE ((-"KZSPRPRV")=(-265) OR (-"KZSPRPRV")=(-266)) AND "INST_ID"=USERENV('INSTANCE')) OR "O"."TYPE#"=19 AND EXISTS (SELECT 0 FROM SYS."TABPART$" "TABPART$","SYS"."OBJAUTH$" "OBJAUTH$",SYS."X$KZSRO" "X$KZSRO" WHERE "GRANTEE#"="KZSROROL" AND "BO#"="OBJ#" A) 3 - access("O"."OWNER#"="U"."USER#") 5 - access("O"."SPARE3"="U"."USER#") 7 - filter("O"."NAME"<>'_NEXT_OBJECT' AND "O"."NAME"<>'_default_auditing_options_' AND BITAND("O"."FLAGS",128)=0 AND "O"."LINKNAME" IS NULL) 8 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9) 9 - access("I"."OBJ#"=:B1) 10 - access("OA"."GRANTEE#"="KZSROROL") 11 - access("OA"."OBJ#"=:B1) filter("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26) 13 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-184) OR (-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241))) 14 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR (-"KZSPRPRV")=(-48) OR (-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50))) 20 - access("O"."SPARE3"=:B1 AND "O"."NAME"=:B2 AND "O"."TYPE#"=9) filter("O"."TYPE#"=9 AND "O"."TYPE#"<>88) 23 - access("O"."OWNER#"="U"."USER#") 24 - access("OA"."OBJ#"="O"."OBJ#" AND "OA"."GRANTEE#"="KZSROROL" AND "OA"."PRIVILEGE#"=26) filter("OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL") 25 - access("DEP"."D_OBJ#"=:B1) 26 - filter("DEP"."P_OBJ#"="O"."OBJ#") 27 - filter(((-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE')) 28 - access("OA"."GRANTEE#"="KZSROROL") 29 - access("OA"."OBJ#"=:B1) filter("OA"."PRIVILEGE#"=12 OR "OA"."PRIVILEGE#"=26) 31 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-144) OR (-"KZSPRPRV")=(-141) OR (-"KZSPRPRV")=(-241))) 33 - access("OBJ#"=:B1) filter("PRIVILEGE#"=3 OR "PRIVILEGE#"=6 OR "PRIVILEGE#"=7 OR "PRIVILEGE#"=9 OR "PRIVILEGE#"=10 OR "PRIVILEGE#"=11 OR "PRIVILEGE#"=12 OR "PRIVILEGE#"=16 OR "PRIVILEGE#"=17 OR "PRIVILEGE#"=18) 34 - filter("GRANTEE#"="KZSROROL") 37 - filter(BITAND("T"."PROPERTY",24)=0) 38 - access("T"."OBJ#"=:B1) 39 - access("OA"."OBJ#"="T"."BASEOBJECT" AND "OA"."PRIVILEGE#"=26) filter("OA"."PRIVILEGE#"=26) 40 - filter("OA"."GRANTEE#"="KZSROROL") 41 - filter(((-"KZSPRPRV")=(-152) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE')) 47 - access("O"."SPARE3"=:B1 AND "O"."NAME"=:B2 AND "O"."TYPE#"=13) filter("O"."TYPE#"=13 AND "O"."TYPE#"<>88) 50 - access("O"."OWNER#"="U"."USER#") 51 - access("OA"."OBJ#"="O"."OBJ#" AND "OA"."GRANTEE#"="KZSROROL" AND "OA"."PRIVILEGE#"=26) filter("OA"."PRIVILEGE#"=26 AND "OA"."GRANTEE#"="KZSROROL") 52 - access("DEP"."D_OBJ#"=:B1) 53 - filter("DEP"."P_OBJ#"="O"."OBJ#") 54 - filter(((-"KZSPRPRV")=(-181) OR (-"KZSPRPRV")=(-241)) AND "INST_ID"=USERENV('INSTANCE')) 55 - filter((-"KZSPRPRV")=(-265) AND "INST_ID"=USERENV('INSTANCE')) 56 - filter(((-"KZSPRPRV")=(-265) OR (-"KZSPRPRV")=(-266)) AND "INST_ID"=USERENV('INSTANCE')) 60 - access("OBJ#"=:B1) 61 - access("BO#"="OBJ#" AND "PRIVILEGE#"=9) filter("PRIVILEGE#"=9) 62 - filter("GRANTEE#"="KZSROROL") 63 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-189) OR (-"KZSPRPRV")=(-190) OR (-"KZSPRPRV")=(-191) OR (-"KZSPRPRV")=(-192))) 64 - filter((-"KZSPRPRV")=(-109) AND "INST_ID"=USERENV('INSTANCE')) 65 - filter(((-"KZSPRPRV")=(-177) OR (-"KZSPRPRV")=(-178)) AND "INST_ID"=USERENV('INSTANCE')) 66 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-45) OR (-"KZSPRPRV")=(-47) OR (-"KZSPRPRV")=(-48) OR (-"KZSPRPRV")=(-49) OR (-"KZSPRPRV")=(-50))) 67 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-205) OR (-"KZSPRPRV")=(-206) OR (-"KZSPRPRV")=(-207) OR (-"KZSPRPRV")=(-208))) 68 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-200) OR (-"KZSPRPRV")=(-201) OR (-"KZSPRPRV")=(-202) OR (-"KZSPRPRV")=(-203) OR (-"KZSPRPRV")=(-204))) 69 - filter(((-"KZSPRPRV")=(-222) OR (-"KZSPRPRV")=(-223)) AND "INST_ID"=USERENV('INSTANCE')) 70 - filter((-"KZSPRPRV")=12 AND "INST_ID"=USERENV('INSTANCE')) 71 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-251) OR (-"KZSPRPRV")=(-252) OR (-"KZSPRPRV")=(-253) OR (-"KZSPRPRV")=(-254))) 72 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-258) OR (-"KZSPRPRV")=(-259) OR (-"KZSPRPRV")=(-260) OR (-"KZSPRPRV")=(-261))) 73 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-246) OR (-"KZSPRPRV")=(-247) OR (-"KZSPRPRV")=(-248) OR (-"KZSPRPRV")=(-249))) 74 - filter(((-"KZSPRPRV")=(-268) OR (-"KZSPRPRV")=(-267)) AND "INST_ID"=USERENV('INSTANCE')) 77 - filter(((-"KZSPRPRV")=(-277) OR (-"KZSPRPRV")=(-278)) AND "INST_ID"=USERENV('INSTANCE')) 78 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-292) OR (-"KZSPRPRV")=(-293) OR (-"KZSPRPRV")=(-294))) 79 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-282) OR (-"KZSPRPRV")=(-283) OR (-"KZSPRPRV")=(-284) OR (-"KZSPRPRV")=(-285))) 80 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-302) OR (-"KZSPRPRV")=(-303) OR (-"KZSPRPRV")=(-304) OR (-"KZSPRPRV")=(-305) OR (-"KZSPRPRV")=(-306) OR (-"KZSPRPRV")=(-307))) 81 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-315) OR (-"KZSPRPRV")=(-316) OR (-"KZSPRPRV")=(-317) OR (-"KZSPRPRV")=(-318))) 82 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-320) OR (-"KZSPRPRV")=(-321) OR (-"KZSPRPRV")=(-322))) 84 - access("OBJ#"=:B1) 85 - filter("GRANTEE#"="KZSROROL") 86 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-309) OR (-"KZSPRPRV")=(-310) OR (-"KZSPRPRV")=(-311) OR (-"KZSPRPRV")=(-312) OR (-"KZSPRPRV")=(-313))) 88 - access("OBJ#"=:B1) 89 - filter("GRANTEE#"="KZSROROL") 90 - filter("INST_ID"=USERENV('INSTANCE') AND ((-"KZSPRPRV")=(-302) OR (-"KZSPRPRV")=(-303) OR (-"KZSPRPRV")=(-304) OR (-"KZSPRPRV")=(-305) OR (-"KZSPRPRV")=(-306) OR (-"KZSPRPRV")=(-307))) 96 - access("C"."OBJ#"=:B1) 97 - filter("DIML"."DIMENSION_TYPE"=11) 98 - access("DIML"."DIMENSIONED_OBJECT_ID"=:B1 AND "DIML"."DIMENSIONED_OBJECT_TYPE"=1) 101 - access("DIML"."DIMENSION_ID"="DO"."OBJ#") filter("DO"."OBJ#"="DIM"."OBJ#") 103 - access("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edition_id'))) filter("U2"."TYPE#"=2 AND "U2"."SPARE2"=TO_NUMBER(SYS_CONTEXT('userenv','current_edition_id'))) 104 - access("O2"."DATAOBJ#"=:B1 AND "O2"."TYPE#"=88 AND "O2"."OWNER#"="U2"."USER#") SYS@XE>
JasonWelcome to the forum!
Every time you post please provide your Oracle Version 4-digit (result of SELECT * FROM V$ VERSION).
>
So, first question, why I get this error? Object should be available to everyone, right?
>
Your username may have access to object. But you must have dba privileges to access the objects of database views.The "ORA-01039: insufficient privileges on the underlying objects of the view" message tells you that the user has privileges to access the BASIC OBJECTS used to generate the view. Access to these basic objects is necessary to generate the plan you want to see. To work around this, I connect as sysdba and get the second question: the following extremely verbose output
>
And that's because sysdba has access to objects in the view database. You asked for a plan, and you guessed it. This verbose output IS the plan and all those that oddly named tables are presented in order to satisfy your request are included in the plan.Make your query using DUAL citizenship or SCOTT. Table EMP and you will not get the error.
-
SQL query simple SQL Developer takes, the wizzard of XE does not work
Hello everyone
I wrote this simple query that developer SQL works well, but when I try to run a report based on this sql query, it tells me invalid sql statement. It's true, maybe it's not valid because this IF clause in there... but Developer SQL seems to be very tolerant or includes more...
I wrote this is because obviously if there is no Boss, ie = 0 then I would get an error when it division by 0, so I put that 0 just for selecting the right
If count (bosses) > 0
Select company, zip code.
sum (Boss/staff)
assessment
Group of company, zip code
Thank you very much
AlvaroOk. This should work:
Select company, zip code.
-case when count (staff)! = 0 here end sum (Boss/staff)
assessment
Group of company, zip codeIf this does not work, could you please explain, how your table looks like?
-
Single SQL query for the analysis of the date of customs declaration under the table of Stock codes
Dear all,
Please tell us a single SQL query for the below,
We have a Table of Stock as shown below,
STOCK_TABLE
ITEM_CODE
(item code)
BAT_NO
(lot no.)
TXN_CODE
(transaction code)
DOC_NO
(number)
BOE_DT
(date of the customs declaration)
I1
B1
I1
I2
I3
B70
I4
B80
I5
B90
T102
1234
JULY 2, 2015
I6
B100
We have to find the date of customs declaration (i.e. the date when the items have come under this particular table) for items that are not attached to any document (that is, who have TXN_CODE, DOC_NO and BOE_DT fields with a NULL value).
For each item in the table of actions, which is not attached to any document, the customs declaration date is calculated as follows.
- If (code section, lot number) combination is present under HISTORY_TABLE, the date of customs declaration will receive the UPDT_DT, the transaction code (TXN_CODE) is an IN or transactions (which can be analyzed from the TRANSACTIONS table).
- If (code section, lot number) combination is NOT currently at the HISTORY_TABLE (or) the transaction code respective to item - batch number combination code is an operation then customs declaration date will be the date of the document (DOC_DT) that we receive from one of the 3 tables IN_TABLE_HEAD that contains the element of that particular lot.
- If the case 1 and case 2 fails, our customs declaration date will be the last date of document (DOC_DT) that we receive from one of the 3 tables IN_TABLE_HEAD containing that particular item and the BAT_NO in expected results will be that corresponding to this document, as appropriate, to another NULL.
- If the case 1 or case 2 is successful, the value of the last field (in the output expected, shown further below) BATCH_YN will be 'Y', because it fits the lot. Otherwise it will be 'n'.
-
Œuvres SQL query to MS SQL Server 2008, but not when you use the database kit
I have this SQL query:
DECLARE TABLE (@DataTypeTable)
Name varchar (128).
TypeID INT)-Add comma delimeted type data in the temporary table names
INSERT INTO @DataTypeTable (name)
SELECT * from WhatWeShouldDoRead.func_Split (@DataTypeTrimmed, ',')SELECT the name OF @DataTypeTable
That takes a comma delimited by the string and returns the string as a table. It works correctly in Microsoft SQL Server Management Studio. When I run this as a stored procedure I return nothing. There are no errors, SQL or otherwise. I checked that I am connected to the correct database and the stored procedure is responsible without changing any error chain which is reported of this stored procedure (that code is not shown in the example above). Has anyone seen this problem before, or have experience with SQL/Labview interfaces to tell me what I am doing wrong?
Thanks in advance.
-
Hi all
Please help me with a SQL query that retrieves all users with a specific resource to State commissioning in OIM 11 g.
Thank you.See query below:
Select usr.usr_login, usr.usr_status, obj.obj_name, ost.ost_status, act.act_name of Ouedraogo, usr, ost, obj, usg, Act where oiu.usr_key = usr.usr_key and oiu.ost_key = ost.ost_key and ost.obj_key = obj.obj_key and usr.act_key = act.act_key and ost.ost_status in ('Provisioning');Kind regards
GP -
Hello
I need to rewrite this SQL query to give the same result, but a way more resorcefull.
Probably using aggregation, but I'm not sure.
Can someone give me a head start.
Thank youdesc resource_bundles Name Null Type ------------- -------- ------------------- LOCALE NOT NULL CHAR(5) BUNDLE_NAME NOT NULL VARCHAR2(32) RESOURCE_NAME NOT NULL VARCHAR2(64) VALUE_STRING VARCHAR2(2048 CHAR) select a.bundle_name,a.resource_name, a.value_string as Czech,(select b.value_string from resource_bundles b where b.bundle_name = a.bundle_name and b.resource_name = a.resource_name and b.locale = 'en_US' )as English, (select c.value_string from resource_bundles c where c.bundle_name = a.bundle_name and c.resource_name = a.resource_name and c.locale = 'ru_RU' ) as Russian, (select d.value_string from resource_bundles d where d.bundle_name = a.bundle_name and d.resource_name = a.resource_name and d.locale = 'it_IT' ) as Italian from resource_bundles a where a.locale = 'cs_CZ';
Published by: BluShadow on April 15, 2011 12:20
addition of {noformat}{noformat} tags
Hello
Here's one way:
SELECT bundle_name, resource_name , MIN (CASE WHEN locale = 'cs_CZ' THEN value_string END) AS czech , MIN (CASE WHEN locale = 'en_US' THEN value_string END) AS english , MIN (CASE WHEN locale = 'ru_RU' THEN value_string END) AS russian , MIN (CASE WHEN locale = 'it_IT' THEN value_string END) AS italian FROM resouce_bundles GROUP BY bundle_name, resource_name HAVING COUNT (CASE WHEN locale = 'cs_CZ' THEN 1 END) > 0
If you would care to view the information that Centinul mentioned, then I could test it.
Published by: Frank Kulash, April 17, 2011 15:08
Removed extra "(" in 'HAVING COUNT ((...)'. -
Hi all
Select col1, col2, col3, col4, col5, col6, count (*), grouping_id (col1, col2), grouping_id(col3,col4), grouping_id (col5, col6) of the Group FLAT_FILE_TEST of grouping sets (col3, col4), ((col1,col2) (col5, col6));
Separate Grouping_id here is 0 and 3
0 is for the current group, other grouping_id become 3.
Someone please explain meaning of 3
Why returning 3?
Thank you
Elayaperumal S
Hello
Thanks for posting the sample data. I get errors on all directions of INSERTION, because the column names aren't the names of columns in the CREATE TABLE statement.
Don't forget to post the results you want from these data, as well as an explanation of how you can (not necessarily how Oracle will be) the results of these data.
Maybe you have nothing particular in mind; you're just experimenting GROUPING_ID to see how it works.
In this case, if I have not answered your question in my first answer, so I understand not what is your question.
In general terms,.
GROUPING_ID (x_n,... x_2, x_1, x_0) equals
(GROUPING (x_n) * POWER (2, n)) +.
...
(GROUPING (x_2) * POWER (2, 2)) +.
(GROUPING (x_1) * POWER (2, 1)) +.
(GROUPING (x_0) * POWER (2, 0))
If you have any questions, please tell what it is. For example "on lines where gro1 = 7, why is - this 7 and not 4? Instead of theis... in language SQL manual it says... and you said... so I expect gro1 to 4 because... «,.
GROUPING_ID is so intimately linked to the GROUPING, then, in your result set, include GROUPING (x), where x is any column that you use as an agrument to GROUPING_ID, for ease of understanding.
-
Please explain the difference between the sql data
Please explain the difference of next sql
Select emp. ID, Dept. DeptName from Employee emp
Join (select DeptId, DeptName Department where deptId = 2) dept on emp.deptId = dept.deptId
Select emp. ID, Dept. DeptName
employee emp
inner join Department dept
on emp. DeptId = Dept. DeptId
where Dept. DeptId = 2
two of them provide the same results, but what is the good? Is there a difference... Does this affect performance
What is the best way of writing
Thank you
Published by: user8708731 on August 30, 2011 11:02
published the first query to select only Deptname
Published by: user8708731 on August 30, 2011 11:12select emp.Id, dept.DeptName from Employee emp join (select DeptName, DeptId from Department where deptId = 2 ) dept on emp.deptId = dept.deptId all Employee rows are joined to filtered Department rows (a single row or no rows) matching deptIds are retained and make their way to the result select emp.Id, dept.DeptName from Employee emp inner join Department dept on emp.DeptId = dept.DeptId where dept.DeptId = 2 all Employee rows are joined to all Department rows matching deptIds are retained and filtered dept.deptIds make their way to the result
Concerning
Etbin
-
Hello
Please help build a sql query
My Table Test2015 has given belowHeader_id Line_id Ordered_item
723887290 199925 MAIN1
199925 723887291 MAIN2
199926 723887292 SH-POS-NO-BR POS-INS
199926 723887293 MAIN2
199927 723887294 IC-ENV-NON-BR-ENV-PXY
199927 723887295 MAIN1
199927 723887297 MAIN2
199927 723887298 PRCSS SH-FAIRY-ELEC DISTR.
199927 723887299 SH-FAIRY-SUM PRO-DE-CONS-HOUSE
I am trying to query my Test2015 table to obtain the records with ordered_item containing 'MAIN1' and 'MAIN2' only. I tried to write a query as below
SELECT * FROM test2015 WHERE ORDERED_ITEM in ('MAIN1', 'MAIN2');
But it gives me all the data with the MAIN2 records found but MAIN1 is absent, I want to retrieve only records to both 'MAIN1' and 'MAIN2' present for Header_id.
While the result below shows me header_id - 199926 and 199929 that he should assume back. I want to fetch documents only with 'MAIN1' and 'MAIN2' both present.
Header_id Line_id Ordered_item
723887290 199925 MAIN1
199925 723887291 MAIN2
199926 723887293 MAIN2
199927 723887295 MAIN1
199927 723887297 MAIN2
199929 723887299 MAIN1
Please suggest.
Thank you and best regards,
Prasad.
Hello
Try like this...
SELECT * FROM test2015 WHERE ORDERED_ITEM in ('MAIN1") and in header_id (select test2015 WHERE ORDERED_ITEM in ('MAIN2') header_id)
-
Hello
Could you please help me with this requirement.
I have the table in this format. I need to get into this format.
The attribute and its value are inserted in the first table. I need to get it saved in the second table...
Please notify.
Please help me how to solve this problem...!Table 1. Id name1 value1 name2 value2 name3 value3 name4 value4 1 attr1 attr1text attr2 attr2text attr3 attr3text attr4 attr4text 2 attr2 attr2tect attr3 attr3text .. .. .. .. 3 attr4 attr4text attr3 attr3text .. .. .. .. 4 attr5 attr5text .. .. .. .. .. .. 5 attr1 attr1text .. .. .. .. .. .. Table 2 id name1 value1 name2 value2 name3 value3 name4 value4 1 attr1 attr1text attr2 attr2text attr3 attr3text attr4 attr4text 2 attr2 attr2tect attr3 attr3text .. .. .. .. 3 attr4 attr4text attr3 attr3text .. .. .. .. 4 attr5 attr5text .. .. .. .. .. .. 5 attr1 attr1text .. .. .. .. .. ..
Concerning
AR
Edited by: 871270 December 10, 2012 22:13871270 wrote:
Sorry blushadow,Please find my desired... output above to insert into another table. Please advise me on that...!
Concerning
ARWell, in response to your question, it would be something like this...
SQL> ed Wrote file afiedt.buf 1 with table1 as (select 1 as id, 'attr1' as name1, 'attr1text' as value1 2 , 'attr2' as name2, 'attr2text' as value2 3 , 'attr3' as name3, 'attr3text' as value3 4 , 'attr4' as name4, 'attr4text' as value4 5 from dual union all 6 select 2, 'attr2','attr2tect','attr3','attr3text',null,null,null,null from dual union all 7 select 3, 'attr4','attr4text','attr3','attr3text',null,null,null,null from dual union all 8 select 4, 'attr5','attr5text',null,null,null,null,null,null from dual union all 9 select 5, 'attr1','attr1text',null,null,null,null,null,null from dual) 10 -- 11 -- end of example data, use below query against your own table 12 -- 13 select id, decode('attr1',name1,value1,name2,value2,name3,value3,name4,value4) as attr1 14 ,decode('attr2',name1,value1,name2,value2,name3,value3,name4,value4) as attr2 15 ,decode('attr3',name1,value1,name2,value2,name3,value3,name4,value4) as attr3 16 ,decode('attr4',name1,value1,name2,value2,name3,value3,name4,value4) as attr4 17 ,decode('attr5',name1,value1,name2,value2,name3,value3,name4,value4) as attr5 18* from table1 SQL> / ID ATTR1 ATTR2 ATTR3 ATTR4 ATTR5 ---------- --------- --------- --------- --------- --------- 1 attr1text attr2text attr3text attr4text 2 attr2tect attr3text 3 attr3text attr4text 4 attr5text 5 attr1text
And this selection, you can insert data using INSERT... SELECT statement.
HISTORY_TABLE
ITEM_CODE | BAT_NO |
TXN_CODE
DOC_NO
UPDT_DT
I1
B1
T1
1234
JANUARY 3, 2015
I1
B20
T20
4567
MARCH 3, 2015
I1
B30
T30
7890
FEBRUARY 5, 2015
I2
B40
T20
1234
JANUARY 1, 2015
TRANSACTION
TXN_CODE | TXN_TYPE |
T1 | IN |
T20 |
OFF
T30
ALL THE
T50
IN
T80
IN
T90
IN
T60
ALL THE
T70
ALL THE
T40
ALL THE
IN_TABLE_HEAD_1
H1_SYS_ID (primary key) | TXN_CODE | DOC_NO |
DOC_DATE
H1ID1
T1
1234
JANUARY 1, 2015
H1ID2
T70
1234
FEBRUARY 1, 2015
IN_TABLE_ITEM_1
I1_SYS_ID |
H1_SYS_ID
(foreign key referencing H1_SYS_ID in IN_TABLE_HEAD_1)
ITEM_CODE
I1ID1
H1ID1
I1
I1ID2
H1ID1
I100
I1ID3
H1ID2
I3
IN_TABLE_BATCH_1
B1_SYS_ID | TXN_CODE DOC_NO (now in IN_TABLE_HEAD_1) | BAT_NO |
B1ID1
T1
1234
B1 / can be empty
B1ID2
T70
1234
B70
IN_TABLE_HEAD_2
H2_SYS_ID (primary key) | TXN_CODE |
DOC_NO
DOC_DATE
H2ID1
T30
4567
FEBRUARY 3, 2015
H2ID2
T60
1234
JANUARY 3, 2015
IN_TABLE_ITEM_2
I2_SYS_ID | H2_SYS_ID (foreign key referencing H2_SYS_ID in IN_TABLE_HEAD_2) | ITEM_CODE |
I2ID1 | H2ID1 |
I1
I2ID2
H2ID1
I200
I2ID3
H2ID2
I2
IN_TABLE_BATCH_2
B2_SYS_ID |
I2_SYS_ID
(foreign key referencing I2_SYS_ID in IN_TABLE_ITEM_2)
BAT_NO
B2ID1
I2ID1
B30 / null
B2ID2
I2ID2
B90
B2ID2
I2ID3
B60
IN_TABLE_HEAD_3
H3_SYS_ID (primary key) | TXN_CODE | DOC_NO | DOC_DATE |
H3ID1 |
T50
1234
JANUARY 2, 2015
H3ID2
T80
1234
JANUARY 3, 2015
H3ID3
T90
1234
JANUARY 4, 2015
H3ID4
T40
1234
AUGUST 5, 2015
IN_TABLE_ITEM_3
I3_SYS_ID |
H3_SYS_ID
(foreign key referencing H3_SYS_ID in IN_TABLE_HEAD_3)
ITEM_CODE
BAT_NO
I3ID1
H31D1
I2
B50
I3ID2
H3ID2
I4
B40
I3ID3
H3ID3
I4
I3ID4
H3ID4
I6
There is no IN_TABLE_BATCH_3
Please find below the expected results.
OUTPUT
ITEM_CODE | BAT_NO | TXN_CODE | DOC_NO |
BOE_DT
BATCH_YN
I1
B1
T1
1234
JANUARY 3, 2015
THERE
I1
B30
T30
7890
FEBRUARY 5, 2015
N
I2
B60
T60
1234
JANUARY 3, 2015
N
I3
B70
T70
1234
FEBRUARY 1, 2015
THERE
I4
T90
1234
JANUARY 4, 2015
N
I6
T40
1234
AUGUST 5, 2015
N
Controls database to create the tables above and insert the records.
CREATE TABLE stock_table()item_code VARCHAR2()80),bat_no VARCHAR2()80),txn_code VARCHAR2()80),
doc_no VARCHAR2 (80), boe_dt DATE );
INSERT EN stock_table
VALUES ('I1', 'B1', '', '', '');
INSERT EN stock_table
VALUES ('I1', '', '', '', '');
INSERT IN stock_table
VALUES ('I2', '', '', '', '');
INSERT EN stock_table
VALUES ('I3', 'B70', '', '', '');
INSERT EN stock_table
VALUES ('I4', 'B80', '', '', '');
INSERT EN stock_table
VALUES ('I5', 'B90', 'T102', '1234', '02-JUL-2015');
INSERT EN stock_table
VALUES ('I6', 'B100', '', '', '');
SELECT *
FROM stock_table
CREATE TABLE history_table()item_code VARCHAR2()80),bat_no VARCHAR2()80),txn_code VARCHAR2()80),
doc_no VARCHAR2 (80), updt_dt DATE );
INSERT IN history_table
VALUES ('I1', 'B1', 'T1', '1234', '03-JAN-2015');
INSERT IN history_table
VALUES ('I1', 'B20', 'T20', '4567', '03-MAR-2015');
INSERT IN history_table
VALUES ('I1', 'B30', 'T30', '7890', '05-FEB-2015');
INSERT IN history_table
VALUES ('I2', 'B40', 'T20', '1234', '01-JAN-2015');
SELECT *
FROM history_table
CREATE TABLE transaction1()txn_code VARCHAR()80),txn_type VARCHAR()80));
INSERT INTO transaction1
VALUES ('T1', 'IN');
INSERT INTO transaction1
VALUES ('T20', 'OUT');
INSERT INTO transaction1
VALUES ('T30', 'ALL');
INSERT INTO transaction1
VALUES ('T40', 'ALL');
INSERT INTO transaction1
VALUES ('T50', 'IN');
INSERT INTO transaction1
VALUES ('T60', 'ALL');
INSERT INTO transaction1
VALUES ('T70', 'ALL');
INSERT INTO transaction1
VALUES ('T80', 'IN');
INSERT INTO transaction1
VALUES ('T90', 'IN');
SELECT *
FROM transaction1
CREATE TABLE in_table_head_1()h1_sys_id VARCHAR2()80) PRIMARY KEY,txn_code VARCHAR2()80),
doc_no VARCHAR2 (80), doc_dt DATE );
CREATE TABLE in_table_head_2()h2_sys_id VARCHAR2()80) PRIMARY KEY,txn_code VARCHAR2()80),
doc_no VARCHAR2 (80), doc_dt DATE );
CREATE TABLE in_table_head_3()h3_sys_id VARCHAR2()80) PRIMARY KEY,txn_code VARCHAR2()80),
doc_no VARCHAR2 (80), doc_dt DATE );
INSERT IN in_table_head_1
VALUES ('H1ID1', 'T1', '1234', '01-JAN-2015');
INSERT IN in_table_head_1
VALUES ('H1ID2', 'T70', '1234', '01-FEB-2015');
INSERT IN in_table_head_2
VALUES ('H2ID1', 'T30', '4567', '03-FEB-2015');
INSERT IN in_table_head_2
VALUES ('H2ID2', 'T60', '1234', '03-JAN-2015');
INSERT IN in_table_head_3
VALUES ('H3ID1', 'T50', '1234', '02-JAN-2015');
INSERT IN in_table_head_3
VALUES ('H3ID2', 'T80', '1234', '03-JAN-2015');
INSERT IN in_table_head_3
VALUES ('H3ID3', 'T90', '1234', '05-JAN-2015');
INSERT IN in_table_head_3
VALUES ('H3ID4', 'T40', '1234', '05-AUG-2015');
CREATE TABLE in_table_item_1()i1_sys_id VARCHAR2()80) PRIMARY KEY,
h1_sys_id VARCHAR2 (80) REFERENCES in_table_head_1()h1_sys_id),item_code VARCHAR2()80));
CREATE TABLE in_table_item_2()i2_sys_id VARCHAR2()80) PRIMARY KEY,
h2_sys_id VARCHAR2 (80) REFERENCES in_table_head_2()h2_sys_id),item_code VARCHAR2()80));
CREATE TABLE in_table_item_3(i3_sys_id VARCHAR2(80) PRIMARY KEY,
h3_sys_id VARCHAR2 (80) REFERENCES in_table_head_3()h3_sys_id),item_code VARCHAR2()80),
bat_no VARCHAR2 (80));
INSERT IN in_table_item_1
VALUES ('I1ID1', 'H1ID1', 'I1');
INSERT IN in_table_item_1
VALUES ('I1ID2', 'H1ID1', 'I100');
INSERT IN in_table_item_1
VALUES ('I1ID3', 'H1ID2', 'I3');
INSERT IN in_table_item_2
VALUES ('I2ID1', 'H2ID1', 'I1');
INSERT IN in_table_item_2
VALUES ('I2ID2', 'H2ID1', 'I200');
INSERT IN in_table_item_2
VALUES ('I2ID3', 'H2ID2', 'I2');
INSERT IN in_table_item_3
VALUES ('I3ID1', 'H3ID1', 'I2','B50');
INSERT IN in_table_item_3
VALUES ('I3ID2', 'H3ID2', 'I4','B40');
INSERT IN in_table_item_3
VALUES ('I3ID3', 'H3ID3', 'I4','');
INSERT IN in_table_item_3
VALUES ('I3ID4', 'H3ID4', 'I6','');
SELECT *
FROM in_table_item_1
SELECT *
FROM in_table_item_2
SELECT *
FROM in_table_item_3
CREATE TABLE in_table_batch_1()b1_sys_id VARCHAR2()80) PRIMARY KEY,
txn_code VARCHAR2 (80), doc_no VARCHAR2 (80), bat_no VARCHAR2 (80));
CREATE TABLE in_table_batch_2()b2_sys_id VARCHAR2()80) PRIMARY KEY,
i2_sys_id VARCHAR2 (80) REFERENCES in_table_item_2()i2_sys_id),bat_no VARCHAR2()80));
INSERT IN in_table_batch_1
VALUES ('B1ID1', 'T1', '1234', 'B1');
INSERT IN in_table_batch_1
VALUES ('B1ID2', 'T70', '1234', 'B70');
INSERT IN in_table_batch_2
VALUES ('B2ID1', 'I2ID1', 'B30');
INSERT IN in_table_batch_2
VALUES ('B2ID2', 'I2ID2', 'B90');
INSERT IN in_table_batch_2
VALUES ('B2ID3', 'I2ID3', 'B60');
Please advise a solution for the same.
Thank you and best regards,
Séverine Suresh
very forced (question subfactoring used to allow easy testing/verification - could work with these test data only)
with
case_1 as
(select s.item_code,
s.bat_no,
h.txn_code,
h.doc_no,
h.updt_dt boe_dt,
cases where s.bat_no = h.bat_no then 'Y' else ' n end batch_yn.
cases where h.txn_code is not null
and h.doc_no is not null
and h.updt_dt is not null
then 'case 1' '.
end refers_to
from (select item_code, bat_no, txn_code, doc_no, boe_dt
of w_stock_table
where bat_no is null
or txn_code is null
or doc_no is null
or boe_dt is null
) s
left outer join
w_history_table h
On s.item_code = h.item_code
and s.bat_no = h.bat_no
and exists (select null
of w_transaction1
where txn_code = nvl (s.txn_code, h.txn_code)
and txn_type in ('IN', 'ALL')
)
),
case_2 as
(select s.item_code,
NVL (s.bat_no, h.bat_no) bat_no.
NVL (s.txn_code, h.txn_code) txn_code.
NVL (s.doc_no, h.doc_no) doc_no.
NVL (s.boe_dt, h.updt_dt) updt_dt.
cases where s.bat_no = h.bat_no then 'Y' else ' n end batch_yn.
cases where h.txn_code is not null
and h.doc_no is not null
and h.updt_dt is not null
then 'case 2'.
end refers_to
from (select item_code, bat_no, txn_code, doc_no, boe_dt
of case_1
where refers_to is null
) s
left outer join
w_history_table h
On s.item_code = h.item_code
and exists (select null
of w_transaction1
where txn_code = nvl (s.txn_code, h.txn_code)
and txn_type in ('IN', 'ALL')
)
and not exists (select null
of case_1
where item_code = h.item_code
and bat_no = h.bat_no
and txn_code = h.txn_code
and doc_no = h.doc_no
and updt_dt = h.updt_dt
)
),
case_31 as
(select s1.item_code,
NVL (S1.bat_no, W1.bat_no) bat_no.
NVL (S1.txn_code, W1.txn_code) txn_code.
NVL (S1.doc_no, W1.doc_no) doc_no.
NVL (S1.updt_dt, W1.doc_dt) updt_dt.
cases where s1.bat_no = w1.bat_no then 'Y' else ' n end batch_yn.
cases where w1.txn_code is not null
and w1.doc_no is not null
and w1.doc_dt is not null
then "case 31'.
end refers_to
from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn, refers_to
of case_2
where refers_to is null
) s1
left outer join
(select i1.item_code, h1.txn_code, h1.doc_no, h1.doc_dt, b1.bat_no
of w_in_table_item_1 i1
inner join
w_in_table_head_1 h1
On i1.h1_sys_id = h1.h1_sys_id
inner join
w_in_table_batch_1 b1
On h1.txn_code = b1.txn_code
and h1.doc_no = b1.doc_no
) w1
On s1.item_code = w1.item_code
),
case_32 as
(select s2.item_code,
NVL (S2.bat_no, W2.bat_no) bat_no.
NVL (S2.txn_code, W2.txn_code) txn_code.
NVL (S2.doc_no, W2.doc_no) doc_no.
NVL (S2.updt_dt, W2.doc_dt) updt_dt.
cases where s2.bat_no = w2.bat_no then 'Y' else ' n end batch_yn.
cases where w2.txn_code is not null
and w2.doc_no is not null
and w2.doc_dt is not null
then "case 32'.
end refers_to
from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn, refers_to
of case_2
where refers_to is null
) s2
left outer join
(select i2.item_code, h2.txn_code, h2.doc_no, h2.doc_dt, b2.bat_no
of w_in_table_item_2 i2
inner join
w_in_table_head_2 h2
On i2.h2_sys_id = h2.h2_sys_id
inner join
w_in_table_batch_2 b2
On i2.i2_sys_id = b2.i2_sys_id
) w2
On s2.item_code = w2.item_code
),
case_33 as
(select s3.item_code,
w3.bat_no,
NVL (S3.txn_code, w3.txn_code) txn_code.
NVL (S3.doc_no, w3.doc_no) doc_no.
NVL (S3.updt_dt, w3.doc_dt) updt_dt.
cases where s3.bat_no = w3.bat_no then 'Y' else ' n end batch_yn.
cases where w3.txn_code is not null
and w3.doc_no is not null
and w3.doc_dt is not null
then "case 33'.
end refers_to
from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn, refers_to
of case_2
where refers_to is null
) s3
left outer join
(select i3.item_code, h3.txn_code, h3.doc_no, h3.doc_dt, i3.bat_no
of w_in_table_item_3 i3
inner join
w_in_table_head_3 h3
On i3.h3_sys_id = h3.h3_sys_id
) w3
On s3.item_code = w3.item_code
)
Select item_code, bat_no, txn_code, doc_no, boe_dt, batch_yn
of case_1
where refers_to is not null
Union of all the
Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn
of case_2
where refers_to is not null
Union of all the
Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn
from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn,
ROW_NUMBER() over (partition by item_code of updt_dt desc order) rn
from (select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn
of case_31
where refers_to is not null
Union of all the
Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn
of case_32
where refers_to is not null
Union of all the
Select item_code, bat_no, txn_code, doc_no, updt_dt, batch_yn
of case_33
where refers_to is not null
)
)
where rn = 1
ITEM_CODE | BAT_NO | TXN_CODE | DOC_NO | BOE_DT | BATCH_YN |
---|---|---|---|---|---|
I1 | B1 | T1 | 1234 | JANUARY 3, 2015 | THERE |
I1 | B30 | T30 | 7890 | FEBRUARY 5, 2015 | N |
I2 | B60 | T60 | 1234 | JANUARY 3, 2015 | N |
I3 | B70 | T70 | 1234 | FEBRUARY 1, 2015 | THERE |
I4 | - | T90 | 1234 | JANUARY 5, 2015 | N |
I6 | - | T40 | 1234 | AUGUST 5, 2015 | N |
Concerning
Etbin
Maybe you are looking for
-
Satellite 1410-604 + SO-DIMM DDR 512/2100
If I understand correctly, I can use CSD (PC2100) memory. I can SO-DIMM DDR 512/2100 instead of CSD (PC2100) memory?
-
Is LogAnalyzer capabilites, possible to send logs to another server?
http://apps.ReadyNAS.com/pages/?page_id=9 "See that you systems logs on to a web interface. Newspapers are in a share of rsyslog for the rsyslog demon» If someone has installed this app before and whether it can send logs to a syslog server?
-
Delete a Standard user account
HI, I have a teacher who returned the MacBook it was using. She left school and she do not disconnect from his user account. In Admin account I can't select its account, I need to delete his account. She is always recorded, so I think it's why I can'
-
Encryption of data blackBerry Z30 on Z30
Hi any body knows precisely what data gets encrypted when encryption is enabled?Hoping to encrypt the data contained on a working application which has personal information.THXModel Z30
-
text of style differently in listFied
I made a listfield allowing two lines of text to display for each line and also to display a block of color. // set font FontFamily font; Font intFont = null; try{ font = FontFamily.forName("BBCasual"); }catch(ClassNotFoundException e){ font = Font.g