SQL query date with century / year
We have a database of oracle with about 6 million documents. There is a date field called Date entered from 1985 to the present day.Most of these recordings was entered into before January 1, 2000.
If I run a query like
Select count (*) (TableName) where entered_date < 1 January 00 ' I get 0
If I do
Select count (*) (TableName) where entered_date < 31 December 99 ' I get 0
BUT IF I DO
Select count (*) (TableName) where entered_date < 1 January 00 ' get 6 million documents
or
Select count (*) in the TREASURY.ctrc where entrydate > 31 December 99 ' get 6 million documents
I tried the same queries using 4 digit years but get the same results. He thinks that 2000 is at least 1999
How to do this?
Thank you
Hello
975204 wrote:
There are 6 million documents on the table
about two-thirds have a date prior to 1 January 2000
How do you know this? Knowledge of the application, you can find out that two-thirds of them are supposed to have dates from before 2000, but if
SELECT COUNT (*)
FROM TABLE_NAME
WHERE ENTRYDATE < TO_DATE ( '01-JAN-2000'
, 'DD-MON-YYYY'
)
;
Returns the value 0, which has strong enough evidence that none of them actually do.
When I look at the dates, they appear as December 31, 86
Another example of why use 2 digit years is a bad idea.
I can't actually provide these confidential customer data dump
Seriously; You can provide an output DUMP? You already said that it displays as December 31, 86, so even if the fact that 1 entry in the table of the line 6 million was made on December 31, 1986 was such a big secret, he is already out, and you don't cause any harm more by showing the results of DUMP.
I ran the query with the same format as the date, that is to say
SELECT COUNT (*) FROM THE DEPARTMENT OF FINANCE. CRTC WHERE ENTRYDATE< to_date="" (="">
"DD-MON-YY."
)but same results
If the column is defined as a DATE type, Oracle made a distinction based on the way the data is displayed, which means that she think that December 31, 86 is different from December 31, 1986?
No, all the DATE columns have the same format. A DATE can be displayed in one way of the other, but it is stored in the form of or.
Should I convert all the data from one year to 4 digits?
A 4-digit year dates should be always displayed.
Run an update query that said if year > = 80 and<= 99="" add="" 19="" in="" front="" of="" the="" year,="" else="" add="" 20="" in="" front="" of="" the="">=>
We will find out exactly what the problem is, first of all.
Have you seen the Ascheffer message? ^ 1 ^ it was dated just a couple of minutes before your last post, so you might not notice. Run it to see what are the years of 4 real numbers.
If it shows, for example, there are a lot of entrydates in the years 2080 to 2099, and if you decide that all who should really be 100 years earlier, use ADD_MONTHS to remedy:
UPDATE table_name
SET entrydate = ADD_MONTHS ( entrydate
, -100 * 12
)
WHERE entrydate >= TO_DATE ( '01-JAN-2080'
, 'DD-MON-YYYY'
)
AND entrydate < TO_DATE ( '01-JAN-2100'
, 'DD-MON-YYYY'
)
;
Published by: Frank Kulash, 15 March 2013 18:09
^ 1 ^ you see of course, message Ascheffer; I was still typing the message above when you posted another.
Tags: Database
Similar Questions
-
need help with sql query dates
Hello
I have a sql query I need to extract some info between data dates. Where clause in this query is:
WHERE CPD_BUS_UNIT =: ESI_PRM_1
AND CPD_VOUCHER_DATE > =: P_DATE_FROM
AND CPD_VOUCHER_DATE < (: P_DATE_TO + 1).
When I run the query into a toad, I can view the data, but not the execution plan. It gives an error ORA-00932 inconsistent Datatypes.
But when I remove (+ 1): P_DATE_TO, I can c the execution plan and data. The data will be different from the previous.
Please suggest how to rewrite the query.Can you please give it a try?
WHERE CPD_BUS_UNIT=:ESI_PRM_1 AND CPD_VOUCHER_DATE >= :to_date(P_DATE_FROM) AND CPD_VOUCHER_DATE < (to_date(:P_DATE_TO)+1)
Concerning
-
Hello
I am trying to query data in my database to do the following...
' Create a query to show all members of the staff who were working on a Monday and worked for more than 86 weeks.
I did the following and it works...
SELECT employe_id, Employee_Name, Hire_Date
The EMPLOYEE
WHERE months_between(sysdate,Hire_Date) > 12 * 1.52;
The query returns all that was necessarily over 86 weeks.
What I would do, is to understand Monday in the query, but I don't know how to do this.
Could someone help?-Try this:
SELECT employe_id, Employee_Name, Hire_Date
The EMPLOYEE
WHERE months_between(sysdate,Hire_Date) > 12 * 1.52
and to_char (hire_date, 'fmDAY') = 'MONDAY ';Published by: P@K on April 14, 2009 18:26
-
Suggest the Sql query to get the years, months, days of the two dates.
Hi all
SELECT TO_DATE('06-02-2014','DD-MM-YYYY') - TO_DATE('01-04-1998','DD-MM-YYYY') SERVICE_DAYS OF THE DOUBLE
5790 SERVICE_DAYS
POWER REQUIRED:
YEARS MONTHS DAYS
15 10 5OUTPUT DISPLAY:
Select
Floor(5790/ 365.25),
Floor (mod (5790,365.25) / (365.25 / 12)),.
ceil (mod(5790,365.25 / 12))
Double;YEARS MONTHS DAYS
15 10 7 - TWO DAYS MORE
How they calculate manually is as follows:2014 02-06
1998-04-01
---------------
05 - days
2014 02-06
1998-04-01
+ 12
---------------
10 month 02 is lower than 04, so we borrow 12 months of TI (2014) years will be (2013)
2014 02-06
1998-04-01
-(1).
---------------
15. for the years since we-1Kind regards
Afzal.
OK... so try not not to multiply the reminder to add_months with 30 but to solve the 'day-thing' in a different way...
first step (data) is only my implementation testdata.
WITH DATA AS (SELECT TO_DATE('02-03-2014','DD-MM-YYYY') AS Degnide
TO_DATE('07-04-2008','DD-MM-YYYY') AS dayfrom
OF the double
UNION ALL
SELECT TO_DATE('12-04-2014','DD-MM-YYYY') AS Degnide
TO_DATE('11-05-1994','DD-MM-YYYY') AS dayfrom
OF the double
UNION ALL
SELECT TO_DATE('06-02-2014','DD-MM-YYYY') AS Degnide
TO_DATE('01-04-1998','DD-MM-YYYY') AS dayfrom
OF the double
)
calc AS (SELECT months_between (dayto, dayfrom) SERVICE_DAYS
Degnide
dayfrom
DATA)
SELECT Degnide
dayfrom
floor(service_days/12) IN years
floor (mod(service_days,12)) AS month
, BUSINESS sign (EXTRACT (Degnide DAY) - EXTRACT (DAY FROM dayfrom))
WHEN THEN-1 EXTRACT (DAY FROM Degnide) + 30 - EXTRACT (DAY OF THE dayfrom)
WHEN 0 then 0
WHEN 1 THEN EXTRACT (Degnide DAY) - EXTRACT (DAY FROM dayfrom)
0 OTHERWISE
end as days
CALC
HTH
-
Dear friends,
Version of DB - 11.1.0.7... , I'm stuck with SQL basics today... need your help...
The slot SQL tells me "cache them locks library" in the database that I will put up as a proactive measure.
I'll be it works via shell script and include the table gv instance_name $ instance ... I'm a little confused as to how a 3rd table "gv$ instance ' can be introduced into the query in order to make the instance_name in the result set...
SELECT * FROM)
SELECT / * + LEADING (a) USE_HASH (u) * /.
instance_name, INST_ID select, blocking_inst_id, blocking_session, username, session_id, sql_id, current_obj #,.
DECODE (sql_opcode, 1, 'CREATE TABLE', 2, 'INSERT') as "order."
Event, mod(P1,16) p1, p2, p3
COUNT (*) totalseconds
, SUM (CASE WHEN wait_class = 'Application' THEN 1 ELSE 0 END) 'Application '.
Of
(SELECT
a.*
, TO_CHAR (CASE WHEN session_state = 'WAITING' THEN ELSE null END p1, '0XXXXXXXXXXXXXXX') p1hex
, TO_CHAR (CASE WHEN session_state = "PENDING" THEN p2 ELSE null END, '0XXXXXXXXXXXXXXX') p2hex
, TO_CHAR (CASE WHEN session_state = "PENDING" THEN ELSE null END p3, '0XXXXXXXXXXXXXXX') p3hex
SGS $ active_session_history one) a
u dba_users
WHERE
a.user_id = u.user_id
AND sample_time BETWEEN sysdate-90 /(24*60) AND sysdate
- AND a test of ('library cache lock', 'library cache pin")
AND event like '% library '.
GROUP BY
INST_ID select, blocking_inst_id, blocking_session, username, session_id, sql_id, current_obj #,.
DECODE (sql_opcode, 1, 'CREATE TABLE', 'INSERT', 2),
event, mod (p1, 16), p2, p3
Having count (*) > 5
ORDER BY
TotalSeconds DESC
, INST_ID select, blocking_session, username, session_id, sql_id, current_obj #, 'Order', event
)
WHERE
ROWNUM < = 20
/
replace
instance_name
by
(select instance_name gv$ instance where INST_ID select = a.inst_id) instance_name
or select... in... a, u, gv$ instance where... and gv$ instance.inst_id (+) = a.inst_id...
-
function body pl/sql return SQL query - if with in the select statement
Hi all
I have a condition where, when the summary field is checked, only we see the this column for users in the report. IF statement is possible in this case? I gave the code below... is possible to write something like below, or y at - it another way to do it?
\
v_sql: = ' select TBLCASES. INVESTIGATOR as an INVESTIGATOR,';
v_sql: = v_sql | "TBLCASES. CASENUMBER as CASENUMBER,';
v_sql: = v_sql | "TBLCASES. OPENDATE as OPENDATE,';
v_sql: = v_sql | "TBLCASES. ESTCOMPLETE as DATE_CIBLE,';
v_sql: = v_sql | "TBLCASES. STATUS of STATUS ';
v_sql: = v_sql | "TBLCASES. Case CODE case CODE as,';
v_sql: = V_sql | "TBLCASES. FAIR_HOTLINE as FAIRHotline,';
v_sql: = v_sql | "TBLCASES. NYSIG as NYSIGCase,';
v_sql: = v_sql | "TBLCASES. The REGION';
IF: P44_INCLUDE_SUMMARY_FIELD is not null THEN
v_sql: = v_sql | "TBLCASES. SUMMARY,';
END IF;
v_sql: = v_sql | "TBLCASES. PROGAREA as PROGArea ';
v_sql: = v_sql | ' from TBLCASES where 1 = 1';
.. \Hi Lucie,.
You are adding and removing a column in a report, so it may be useful to have the extra on the end of the query.
You get an error? If so, paste it in...BUT - that I would put a condition on the column where ': P44_INCLUDE_SUMMARY_FIELD is not null '
It under 'Attributes of the column' report select the change column icon, and there a breadcrumb "Condition."
Select "In Expression 1 point value is not Null" and put the P44_INCLUDE_SUMMARY_FIELD in the Expression 1 text box.And I have to make it more readable like that when I do the dynamic SQL code:
IF: P44_INCLUDE_SUMMARY_FIELD is not null THEN
v_INCLUDE_SUMMARY_FIELD: = ' TBLCASES. SUMMARY summary ';
END IF;v_sql: = ' select TBLCASES. RESEARCHER, researcher,
TBLCASES. CASENUMBER as CASENUMBER
TBLCASES. OPENDATE as OPENDATE,
TBLCASES. ESTCOMPLETE as DATE_CIBLE,
TBLCASES. STATUS of STATUS,
TBLCASES. Case CODE case CODE as,
TBLCASES. FAIR_HOTLINE as FAIRHotline,
TBLCASES. NYSIG as NYSIGCase,
TBLCASES. REGION as the region,
TBLCASES. PROGAREA as PROGArea,' |
v_INCLUDE_SUMMARY_FIELD |
' from TBLCASES where 1 = 1; ';It will be useful,
BRITISH COLUMBIA -
More than 1 SQL query with checkbox and error invalid number report
Hi all
I have two SQL query reports that each has an apex_item.checkbox and two processes for each report. A report/process works very well. It gives me an error of invalid number.
In addition, another query SQL (editable report) gives me the following error when using the Multi line process, delete.
ORA-06502: PL/SQL: digital or value error: character number conversion
error ORA-06502: PL/SQL: digital or value error: character number conversion
errorOk When I got a report from SQL query (with box and a process) and the query SQL (editable report) everything worked. It stopped working when I added another SQL query report (with box and a process).
A SQL query has the following in my query: apex_item.checkbox(3,email_id,'UNCHECKED') ""
The other SQL query has the following: apex_item.checkbox(2,b.file_id,'UNCHECKED') ""
Any help will be greatly appreciated,
Sylvia
Hi Reema,
I've recreated the region and now it works!
Thank you for this, looking at
Sylvia
-
Hello world
I hope someone can point me in the right direction.
I have the SQL code following in the type of SQL query data model.
Select * from ap_invoices
The following select statement is not to return all the rows in the view, but the fact of sqlplus.
I have setup the EBS security model uses BEEP 10.1.3.4.1.
What I do wrong, is there some setting I'm missing?
Do I need to use a different security model to BEEP?
Help, please
Thank you.Hello
AP_INVOICES is a view as you know, sound based on the ORG_ID set when you select from it. IM thinking that when you use just select * from AP_INVOICES at RANDOM. Its not abreast of your org id and its is not defining for you when you run a query, so its not rehired data. Two options:
1. use a data model and in the pre-reading trigger set the context of the org. As you may be in an Oracle report. Data models are very powerful and offer everything that OReports done in EBS incl. triggers flex extensions
2 use the AP_INVOICES_ALL table and set the org id in the query where clause.
Both approaches need so that you know the id org that you want to set. The integration of the security that you won't it's to say it does not pass it when the user opens a session. I suppose you have a report folder for every responsibility you could hardcode the org id in the reports in a given folder. Or you can add it as a parameter to the user to fill out report.
Integration level just does not quite go enough away for the time to manage the org and, therefore, the views of the org.hope this is clear
Concerning
Tim
-
Help me with SQL Query to retrieve data from a view
Hello Guru,
I need help in my sql query.
I use SQL TeraData.
I want an Oracle result in the following form-
Open tickets
Open months failure / Repair Service s/o improvement request Total general
2009-01-2 4 4 5 15
2009-02 1 0 2 3 6
2009-03 4 1 2 2 9
Grand Total 7 5 8 10 30
I wrote the query as where - TIME_PERIOD, RQST_TYPE_DM and DEMAND_SUMMARY_FCT are the points of view and I extract the data from the views only.
Select NVL (CA. TIME_PERIOD. PERIOD_CD, 'Total') THAT year.
COUNT (CASE WHEN CA. RQST_TYPE_DM. RQSTTYP_DESC Like '% of Break' THEN 1 END) as BreakFix
COUNT (CASE WHEN CA. RQST_TYPE_DM. RQSTTYP_DESC as 'N/a', 1 END) by n/a
COUNT (CASE WHEN CA. RQST_TYPE_DM. RQSTTYP_DESC as 'Improvement' THEN 1 END) accessories
COUNT (CASE WHEN CA. RQST_TYPE_DM. RQSTTYP_DESC Like '% Service' THEN 1 END) as ServiceRequests
COUNT (CA. RQST_TYPE_DM. RQSTTYP_DESC) AS grand_total
FROM CA. TIME_PERIOD, CA. RQST_TYPE_DM, CA. DEMAND_SUMMARY_FCT
WHERE (CA. DEMAND_SUMMARY_FCT. RQSTTYP_ID = CA. RQST_TYPE_DM. RQSTTYP_ID)
AND (CASE
WHEN CA. DEMAND_SUMMARY_FCT. MONTH_ID = CA. TIME_PERIOD. PERIOD_ID, 1
WHEN {fn concat ({fn concat (SUBSTR (CA. TIME_PERIOD. {(PERIOD_CD, 3, 4),'-')}, SUBSTR (CA. TIME_PERIOD. PERIOD_CD, 7, 2))} BETWEEN ' 2009-01' AND ' 2009-03' THEN 1
WHEN CA. DEMAND_SUMMARY_FCT. RQSTTYP_ID = '1' then 1
END) = 1
GROUP BY ROLLUP (CA. TIME_PERIOD. PERIOD_CD)
After executing the query, I get the following error:
3076: syntax Error: Data Type 'Time' does not match a defined Type name.
:( Kindly help me with this and let me know where I'm wrong... Please.Messages indicates something wrong with your data... It would seem that the data does not match your format mask.
Thus, the data or the format mask.
-
How do I get the data of "Regulatory BOM" Formulation with SQL query output
Hello
We would like to implement a State of BiPublisher that displays "Regulation BOM" (wording-> click on TAB Formulation on exit Popup-> TAB Composition) information table.
How could get us this information with an SQL query?
Thank you
Annarosa
Hi, given 'Regulatory BOM' output of the Formulation are more complicated than expected. Attached is an example. You can test and make the appropriate changes to your report.
-
Need help with SQL/PL/SQL for Dates
Hi Experts - need help with a SQL query.
I need to insert some date fields in a table called CALENDAR_PERIOD.
Current data in CALENDAR_PERIOD table with their data types:
STARTPERIOD (DATE) YEAR (NUMBER) PERIOD_LABEL (Varchar2 255)
02/11/2014 2014 2014/02/11 SUN
03/11/2014 2014 14/03/11 MON
04/11/2014 2014 11/04/14 MAR
I have to increment above values up to the year 2025. I don't know how to write SQL and increment of these values.
Ex: My next value should insert: 05/11/2015 2014 11/05/14 WED like that I need to insert data until 12 31, 2025.
Can you please help me with PL/SQL block?
Really appreciate your help!
DB version:
Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE Production 11.2.0.3.0
AMT for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Thank you
SandyHello Sandy,
Maybe something like
INSERT INTO calendar_period (startperiod, year, period_label)
SELECT DATE '' 2014-11-04 + LEVEL
, TO_NUMBER (TO_CHAR (DATE '' 2014-11-04 + LEVEL, "YYYY"))
, TO_CHAR (DATE '' 2014-11-04 + LEVEL, "MM/DD/YY DY")
OF the double
CONNECT BY LEVEL<= date="" '2025-12-314="" -="" date="">=>
;
((mais je ne comprends pas pourquoi nous créons une telle table "année" et "period_label" peuvent être calculé à partir de startperiod))
Best regards
Bruno Vroman.
-
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'.
-
SQL query for retrieving data based on Certain model
Hi all
I want to retrieve all the identifiers of all the people who are permanently seated during the last hour.
Data are expressed as below:
-Creation of the activity Table
CREATE TABLE activity_log
(
Username, NUMBER of
Activity VARCHAR2 (30),
StartTime VARCHAR2 (6).
EndTime VARCHAR2 (6)
);
-Filling with sample data
INSERT INTO activity_log VALUES('39','Walking','09:01','09:05');
INSERT INTO activity_log VALUES('39','Walking','09:06','09:10');
INSERT INTO activity_log VALUES('39','Sitting','09:11','09:15');
INSERT INTO activity_log VALUES('39','Sitting','09:16','09:20');
INSERT INTO activity_log VALUES('39','Sitting','09:21','09:25');
INSERT INTO activity_log VALUES('39','Standing','09:26','09:30');
INSERT INTO activity_log VALUES('39','Standing','09:31','09:35');
INSERT INTO activity_log VALUES('39','Sitting','09:36','09:40');
INSERT INTO activity_log VALUES('39','Sitting','09:41','09:45');
INSERT INTO activity_log VALUES('39','Sitting','09:46','09:50');
INSERT INTO activity_log VALUES('39','Sitting','09:51','09:55');
INSERT INTO activity_log VALUES('39','Sitting','09:56','10:00');
INSERT INTO activity_log VALUES('39','Sitting','10:01','10:05');
INSERT INTO activity_log VALUES('39','Sitting','10:06','10:10');
INSERT INTO activity_log VALUES('39','Sitting','10:11','10:15');
INSERT INTO activity_log VALUES('39','Sitting','10:16','10:20');
INSERT INTO activity_log VALUES('39','Sitting','10:21','10:25');
INSERT INTO activity_log VALUES('39','Sitting','10:26','10:30');
INSERT INTO activity_log VALUES('39','Sitting','10:31','10:35');
INSERT INTO activity_log VALUES('39','Standing','10:36','10:40');
INSERT INTO activity_log VALUES('39','Standing','10:41','10:45');
INSERT INTO activity_log VALUES('39','Walking','10:46','10:50');
INSERT INTO activity_log VALUES('39','Walking','10:51','10:55');
INSERT INTO activity_log VALUES('39','Walking','10:56','11:00');
INSERT INTO activity_log VALUES('40','Walking','09:01','09:05');
INSERT INTO activity_log VALUES('40','Walking','09:06','09:10');
INSERT INTO activity_log VALUES('40','Sitting','09:11','09:15');
INSERT INTO activity_log VALUES('40','Sitting','09:16','09:20');
INSERT INTO activity_log VALUES('40','Sitting','09:21','09:25');
INSERT INTO activity_log VALUES('40','Standing','09:26','09:30');
INSERT INTO activity_log VALUES('40','Standing','09:31','09:35');
INSERT INTO activity_log VALUES('40','Sitting','09:36','09:40');
INSERT INTO activity_log VALUES('40','Sitting','09:41','09:45');
INSERT INTO activity_log VALUES('40','Sitting','09:46','09:50');
INSERT INTO activity_log VALUES('40','Sitting','09:51','09:55');
INSERT INTO activity_log VALUES('40','Walking','09:56','10:00');
INSERT INTO activity_log VALUES('40','Sitting','10:01','10:05');
INSERT INTO activity_log VALUES('40','Standing','10:06','10:10');
INSERT INTO activity_log VALUES('40','Standing','10:11','10:15');
INSERT INTO activity_log VALUES('40','Walking','10:16','10:20');
INSERT INTO activity_log VALUES('40','Walking','10:21','10:25');
INSERT INTO activity_log VALUES('40','Walking','10:26','10:30');
INSERT INTO activity_log VALUES('40','Sitting','10:31','10:35');
INSERT INTO activity_log VALUES('40','Sitting','10:36','10:40');
INSERT INTO activity_log VALUES('40','Sitting','10:41','10:45');
INSERT INTO activity_log VALUES('40','Standing','10:46','10:50');
INSERT INTO activity_log VALUES('40','Walking','10:51','10:55');
INSERT INTO activity_log VALUES('40','Walking','10:56','11:00');
Based on the data, the user ID 39 must be found, since it's been sitting since 09:36-10:35, which is continuous 1 hour.
Any guidance how to do using SQL query will be of great help and appreciation.
Thank you very much
Kind regards
Bilal
So what exactly is wrong with the request that I already gave you?
Just to remind one untested (because of lack of insert statements) rewrite according to your new data:
with grp as)
Select
username
UserRecognizedActivityID activity
starttime
starttime + endetime + 1
row_number() over (partition by order of starttime userid)
-ROW_NUMBER() over (partition of userid, UserRecognizedActivityID order of starttime)
RN
of activity_log
)
Select
username
min (starttime) starttime
max (endtime) endtime
max (activity) activity
GRP
Group userid, rn
with round (max (endtime) - min (starttime) * 24 * 60) > = 59
-
SQL query: I want to know how to filter data...
I want to filter these data
year DATA_TYPE product_name amount 2013 1 Apple 100 2013 1 Mango 200 2014 1 Apple 300 2014 1 Mango 150 2014 1 banana 250 2015 1 Apple 350 2015 2 Apple 300 2015 3 Apple 320 2015 2 Mango 400 2015 3 Mango 400 2015 3 banana 500 In each year and each product, I want to filter the data that has no data in data type 1
When he has not given in data of type 1, using data in data type 2.
and if he has not given data type 2, use the data in data of type 3.
This is the result I was expecting
year DATA_TYPE product_name amount 2015 2 Mango 400 2015 3 banana 500 Thanks for your help.
Or more simply...
SQL > ed
A written file afiedt.buf1 with t (year, data_type, product_name, amount) as)
2 Select 2013, 1, 'apple', 100 double Union all
3 select 2013, 1, "mango", 200 double Union all
4 Select 2014, 1, 'apple', 300 double Union all
5 Select 2014, 1, "mango", 150 double Union all
6 select 2014, 1, 'banana', 250 double Union all
7 if he would choose 2015, 1, 'apple', 350 dual Union all
8 select 2015, 2, 'apple', 300 double Union all
9 select 2015, 3, 'apple', 320 double Union all
10. Select 2015, 2, "mango", 400 double Union all
11. Select 2015, 3, "mango", 400 double Union all
12. Select 2015, 3, 'banana', 500 double
13 )
14-
15 end of test data
16-
17 select year
18, max (data_type) keep (first order by data_type dense_rank) as data_type
19, product_name
20, max (amount) to keep (first order by data_type dense_rank) as the amount
21 t
Group 22 by product_name, year
23 * have max (data_type) Dungeon (first order by data_type dense_rank)! = 1
SQL > /.YEAR AMOUNT DATA_TYPE PRODUCTION
---------- ---------- ------ ----------
2015 mango 2 400
2015 banana 3 5002 selected lines.
-
SQL query to represent the data in the graph bar
Hello
JDev 11.1.1.5.0
We must create a dashboard to track the translation. We have created the ADF table with buttons 'Create', 'Update' and 'Delete' to manipulate the table.
Our DB table structure is
File_id (PK), File_Name, ToSpanish - ARE (YES/NO), beginning of the ToSpanish, ToChina(YES/No), ToChina-Date... etc.
Once the translated file required language then user must update the DB table using the button "Update".
So far, we have implemented the requirement above.
We need represent the status of the translation in the graph bar with the language as X access and file count get access Ex: Spanish-100 China - 200 files files
Please suggest the sql query to retrieve the necessary info from the DB table that can be represented in the graph bar. Also, it would be great, if you can provide a pointers to create a bar chart.
Thanks in advance,
MSR.
If you set your major increment and minor than 1, then you won't not show decimal points. You can try setting these 10 or 100 to reach your goal.
Subtype = "BAR_VERT_CLUST" >
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
-
It's almost as if I am interested in a picture of my firefox browser. If I click on tabs in the browser, add a new tab or try and change the url, it seems frozen. I can say that the browser is not frozen, because the only thing that changes if I clic
-
Cannot install modem SATELLITE M30 604
I don't see my modem in Device Manager. I can't see a com port in Device Manager. When I choose Control Panel > phone and modem options, I don't see modem.I chose the Add button. My modem is not detected. Then I have the possibility to install it in
-
Write/close text file problems
There is probably a simple answer to this question, but I can't seem to understand. I'm using a controller compact realtime RIO 9068 I have a program very simple reading of data from a serial port and saving it to a text file. Before recording start
-
Identifier not declared "DEFAULT_THREAD_POOL_HANDLE".
LabWindows/CVI 8.5 Trying to teach me "tips of wire. When I compile I get error: identifier not declared "DEFAULT_THREAD_POOL_HANDLE". I think there is a library, that I need to understand, but I do not see in the docs. Help, please? Here's the enti
-
I have a laptop Gateway nv55s and I used a Slyvania 32 '' lcd Tv and my secondary monitor via a Hdmi cable. I was out of my house and when I came back the video has not been more appearing on my TV. I went to change my video settings and it detects m