Need help in framing an SQL query - Sample data and output required is mentioned.
Sample data :
ID Region State
1 a A1
2 b A1
3 c B1
4 d B1
Result should be :
State Region1 Region2
A1 a b
B1 c d
create table #t (id int, region char(1),state char(2))
insert into #t values (1,'a','a1'),(2,'b','a1'),(3,'c','b1'),(4,'d','b1')
select state,
max(case when region in ('a','c') then region end) region1,
max(case when region in ('b','d') then region end) region2
from #t
group by state
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence
Similar Messages
-
Need help in framing an SQL query
Hi ,
Requirement is that
Let’s say I have a table say X
I am passing two input params from UI and in DAO i am querying these input prams against the table X(has c1,c2 as columns ) (as it has two columns mapping the input params A,B from UI).
if either one or Both of the input params matches ,only then i should fetch the records accordingly. It's understood that there won't be a scenario that both input params are null from UI.
I have three conditions here,
1. A match against X, B doesnt Match
2. B match against X, A doesnt Match
3. Both A & B match against X
if i use let's say,
SELECT *FROM X WHERE (c1= A OR c2= B) .
• if A match against X B doesnt Match It is fetching all the records matching A - requirement fullfilled
• B match against X A doesnt Match It is fetching all the records matching B- requirement fullfilled.
• Both A & B match against X It is fetching all the records from the table matching the first condition (which here is A) . requirement not fullfilled.
I am thinking of using the following query but I need to frame it in a way that based on ACHK & BCHK we need to add the conditions.
SELECT CASE WHEN C1 = A THEN 0 ELSE 9 END AS ACHK, CASE WHEN C2 = B THEN 0 ELSE 9 END AS BCHK FROM X
Based on ACHK & BCHK append the conditions. i.e.
IF ACHK = 0 AND BCHK = 0 THEN
AND C1 = A AND C2 = B
ELSE
AND (C1 = A OR C2 = B)
Please help.Hi,
963022 wrote:
Would be glad if you can shed some light on role of DENSE_RANK here (ofcourse i did read the forums but i am confused on what basis a row is ranked).Complicated queries and expressions are usually built of smaller, simpler parts. To understand how the big, complicated thing works, look first at the smaller, simpler components of it, and make sure you understand how they work.
In this case, the query is composed of a sub-query and a main query. Start by looking at the sub-query only. Display all rows and all columns of the sub-query.
Break apart the complicated components of that sub-query. Rnk depends on an ORDER BY clause, but the expression used in that ORDER BY clause isn't displayed anywhere. Copy and display just that expression. (I called this case_1_2 in the query below.) Even that may be too complicated to understand, so break it apart. Case_1_2 is formed by adding 2 smaller CASE expressions; in the query below, I displayed each of the in separate columns (case_1 and case_2).
So here's a query you might use to understand and debug the query I posted:
WITH targets AS
SELECT 'ABC' AS c1, 10 AS c2 FROM dual UNION ALL
SELECT 'ABC', 20 FROM dual UNION ALL
SELECT 'FOO', 10 FROM dual UNION ALL
SELECT 'FOO', 20 FROM dual UNION ALL
SELECT 'FOO', 99 FROM dual
, got_rnk AS
SELECT x.c1, x.c2
, t.c1 AS target_c1
, t.c2 AS target_c2
, DENSE_RANK () OVER ( PARTITION BY t.c1, t.c2
ORDER BY CASE
WHEN x.c1 = t.c1
THEN 1
ELSE 0
END
+ CASE
WHEN x.c2 = t.c2
THEN 2
ELSE 0
END
DESC
) AS rnk
-- ***** DEBUGGING SECTION ***** The following columns are included only
-- to see how the function above works.
, CASE
WHEN x.c1 = t.c1
THEN 1
ELSE 0
END
+ CASE
WHEN x.c2 = t.c2
THEN 2
ELSE 0
END AS case_1_2
, CASE
WHEN x.c1 = t.c1
THEN 1
ELSE 0
END AS case_1
, CASE
WHEN x.c2 = t.c2
THEN 2
ELSE 0
END AS case_2
-- ***** END OF DEBUGGING SECTION *****
FROM targets t
JOIN x ON x.c1 = t.c1
OR x.c2 = t.c2
-- The following main query is only for debugging
SELECT *
FROM got_rnk
ORDER BY target_c1, target_c2
, rnk
;Output:
TARGET TARGET CASE
C1 C2 _C1 _C2 RNK _1_2 CASE_1 CASE_2
ABC 10 ABC 10 1 3 1 2
ZZZ 10 ABC 10 2 2 0 2
ABC 5 ABC 10 3 1 1 0
ABC 6 ABC 10 3 1 1 0
ABC 7 ABC 10 3 1 1 0
ABC 1 ABC 10 3 1 1 0
ABC 3 ABC 10 3 1 1 0
ABC 2 ABC 10 3 1 1 0
ABC 8 ABC 10 3 1 1 0
ABC 9 ABC 10 3 1 1 0
ABC 4 ABC 10 3 1 1 0
ZZZ 20 ABC 20 1 2 0 2
ABC 10 ABC 20 2 1 1 0
ABC 2 ABC 20 2 1 1 0
ABC 1 ABC 20 2 1 1 0
ABC 9 ABC 20 2 1 1 0
ABC 8 ABC 20 2 1 1 0
ABC 7 ABC 20 2 1 1 0
ABC 6 ABC 20 2 1 1 0
ABC 5 ABC 20 2 1 1 0
ABC 4 ABC 20 2 1 1 0
ABC 3 ABC 20 2 1 1 0
ABC 10 FOO 10 1 2 0 2
ZZZ 10 FOO 10 1 2 0 2
ZZZ 20 FOO 20 1 2 0 2Study this output to see how the different components work.
For example, the first 12 rows of output show what we found when we were looking for ('ABC', 10). There were 12 rows in table x that had either ca='ABC' or c2=10 (or both). We used the rnk column to find the best match: lower numbers mean better matches. How did we do that? By using the DENSE_RANK function with a DESCending order by clause, that is, we used <tt> DENSE_RANK () OVER (... ORDER BY exp DESC) </tt>, which means that higher values of exp produce lower values from DENSE_RANK. What is exp? It's the column I called case_1_2. As you can see, when there was a perfect match ('ABC', 10), then case_1_2 had the value 3. Less perfect matches got lower values of case_1_2; for example ('ZZZ', 10) only had 2 in the case_1_2 column, and ('ABC', 5) only had 1. Why did case_1_2 have values of 3, 2 or 1 on those rows? Well, it's the sum of case_1 and case_2, so look at those individual columns, and see how they are computed. -
Need help in rewriting a sql query
Can any one please tell me if there is any utility that can help me correcting the sql I have I need to tune the query as its taking lot of time. I want to use some tool that will help me re-formating the query.
Any help in this regard will be highly appreciated.If you think that Oracle SQL Tuning Tools like SQL Tuning Advisor and SQL Access Advisor are not helping.
You might look into thrid party tools like Quest- SQL Navigator and TOAD.
But I don't advise this based on the following:
Re: Oracle Third Party Tools and Oracle Database
Oracle have enough tools of its own to satisfy the various needs.
Adith -
Need help in Report From SQL Query
Hi All,
I am facing a problem with a report. I need your help.
I am creating a Report From SQL Query (Portal) with some arguments passed at runtime. I am able to view the output, if the query returns few rows ( arount 1000 rows). But for some inputs it needs to generate >15000 records, at this point the page is getting time out (i think!) and showing error page. I am able to execute query from the SQL Plus console ot using TOAD editor. Here the query is not taking more that 2 mins time to show the result.
If i am executing from Portal i observed that, once i give the appropriate input and hit submit button a new oracle process is getting created for the query on UNIX (I am usign "TOP" command to check processes). The browser page will be shown error page after 5 minutes (i am assuming session time out!) , but on the backend the process will be executed for more than 30 mins.
I tried also increase the page time out in httpd.conf, but no use.
The data returned as a result of the query is sized more than 10 MB. Is caching this much data is possible by the browser page? is the returned data is creating any problem here.
Please help me to find appropriate reasone for the failure?user602513 wrote:
Hi All,
I am facing a problem with a report. I need your help.
I am creating a Report From SQL Query (Portal) with some arguments passed at runtime. I am able to view the output, if the query returns few rows ( arount 1000 rows). But for some inputs it needs to generate >15000 records, at this point the page is getting time out (i think!) and showing error page. I am able to execute query from the SQL Plus console ot using TOAD editor. Here the query is not taking more that 2 mins time to show the result.
If i am executing from Portal i observed that, once i give the appropriate input and hit submit button a new oracle process is getting created for the query on UNIX (I am usign "TOP" command to check processes). The browser page will be shown error page after 5 minutes (i am assuming session time out!) , but on the backend the process will be executed for more than 30 mins.
I tried also increase the page time out in httpd.conf, but no use.
The data returned as a result of the query is sized more than 10 MB. Is caching this much data is possible by the browser page? is the returned data is creating any problem here.
Please help me to find appropriate reasone for the failure?Do you get any errors or warnings or it is just the slow speed which is the issue?
There could be a variety of reasons for the delayed processing of this report. That includes parameter settings for that page, cache settings, network configurations, etc.
- explore best optimization for your query;
- evaluate portal for best performance configuration; you may follow this note (Doc ID: *438794.1* ) for ideas;
- third: for that particular page carrying that report, you can use caching wisely. browser cache is neither decent for large files, nor practical. instead, explore the page cache settings that portal provides.
- also look for various log files (application.log and apache logs) if you are getting any warnings reflecting on some kind of processing halt.
- and last but not the least: if you happen to bring up a portal report with more than 10000 rows for display then think about the usage of the report. Evaluate whether that report is good/useful for anything?
HTH
AMN -
Need Help with Creating the SQl query
Hi,
SQL query gurus...
INFORMATION:
I have two table, CURRENT and PREVIOUS.(Table Defs below).
CURRENT:
Column1 - CURR_PARENT
Column2 - CURR_CHILD
Column3 - CURR_CHILD_ATTRIBUTE 1
Column4 - CURR_CHILD_ATTRIBUTE 2
Column5 - CURR_CHILD_ATTRIBUTE 3
PREVIOUS:
Column1 - PREV_PARENT
Column2 - PREV_CHILD
Column3 - PREV_CHILD_ATTRIBUTE 1
Column4 - PREV_CHILD_ATTRIBUTE 2
Column5 - PREV_CHILD_ATTRIBUTE 3
PROBLEM STATEMENT
Here the columns 3 to 5 are the attributes of the Child. Lets assume that I have two loads, One Today which goes to the CURRENT table and one yesterday which goes to the PREVIOUS table. Between these two loads there is a CHANGE in the value for Columns either 3/4/5 or all of them(doesnt matter if one or all).
I want to determine what properties for the child have changed with the help of a MOST efficient SQL query.(PARENT+CHILD is unique key). The Database is ofcourse ORACLE.
Please help.
Regards,
ParagHi,
The last message was not posted by the same user_name that started the thread.
Please don't do that: it's confusing.
Earlier replies give you the information you want, with one row of output (maximum) per row in current_tbl. There may be 1, 2 or 3 changes on a row.
You just have to unpivot that data to get one row for every change, like this:
WITH single_row AS
SELECT c.curr_parent
, c.curr_child
, c.curr_child_attribute1
, c.curr_child_attribute2
, c.curr_child_attribute3
, DECODE (c.curr_child_attribute1, p.prev_child_attribute1, 0, 1) AS diff1
, DECODE (c.curr_child_attribute2, p.prev_child_attribute2, 0, 2) AS diff2
, DECODE (c.curr_child_attribute3, p.prev_child_attribute3, 0, 3) AS diff3
FROM current_tbl c
JOIN previous_tbl p ON c.curr_parent = p.prev_parent
AND c.curr_child = p.prev_child
WHERE c.curr_child_attribute1 != p.prev_child_attribute1
OR c.curr_child_attribute2 != p.prev_child_attribute2
OR c.curr_child_attribute3 != p.prev_child_attribute3
, cntr AS
SELECT LEVEL AS n
FROM dual
CONNECT BY LEVEL <= 3
SELECT s.curr_parent AS parent
, s.curr_child AS child
, CASE c.n
WHEN 1 THEN s.curr_child_attribute1
WHEN 2 THEN s.curr_child_attribute2
WHEN 3 THEN s.curr_child_attribute3
END AS attribute
, c.n AS attribute_value
FROM single_row s
JOIN cntr c ON c.n IN ( s.diff1
, s.diff2
, s.diff3
ORDER BY attribute_value
, parent
, child
; -
Need help to where small sql query
{ names numbers types
id | name | | id | phone | who | type | | id | type |
| 1 | jenny | | 1 | 867-5309 | 1 | 3 | | 1 | home |
| 2 | tom | | 2 | 555-1212 | 3 | 1 | | 2 | cell |
| 3 | smith | | 3 | 364-4311 | 3 | 2 | | 3 | work |
| 4 | amy | | 4 | 936-2828 | 4 | 3 | | 4 | fax |
| 5 | 525-8722 | 3 | NULL | -----------
i am trying to get out put like this ,:
name type phone
| smith | home | 555-1212 |
| smith | cell | 364-4311 |
| smith | NULL | 525-8722 |
is it posiible to get tree time "smith " in the name column ,that is confusing me a lot
please can any one give idea how to solve this }
Edited by: user4463478 on May 20, 2009 5:38 PM
Edited by: user4463478 on May 21, 2009 11:51 AM
Edited by: user4463478 on May 21, 2009 11:52 AMWhat is your table structure? It is confusing. Post your sample input, output, table strucutre etc between {noformat}{noformat} and {noformat}{noformat}
And it looks like this.
and Cheers
Sarma. -
Need help in writing SELECT (strange, to many data in output?)
Hi,
I have:drop table jk_t1;
drop table jk_t2;
create table jk_t1 (
c1 number,
c2 varchar2(3),
c3 number
create table jk_t2 (
d1 number primary key,
d2 varchar2(4)
alter table jk_t1 add constraint t1_t2_fk foreign key (c3) references jk_t2(d1);
insert into jk_t2 values (1,'T2_1');
insert into jk_t1 values (1,'A11',1);
insert into jk_t1 values (2,'A21',1);
commit;I need to write a SELECT to get an output as:<ALL>
<D1>1</D1>
<D2>T2_1</D2>
<INN>
<T1>
<ROW><C1>1</C1><C2>A11</C2><C3>1</C3></ROW>
<ROW><C1>2</C1><C2>A21</C2><C3>1</C3></ROW>
</T1>
</INN>
</ALL>I'm trying:SELECT XMLElement("ALL",
extract(XMLType(CURSOR(SELECT t2.*, XMLElement("T1",extract(XMLType(CURSOR(
SELECT t1.*
FROM jk_t1 t1
WHERE t1.c3=t2.d1
)), '//ROW')) as inn
FROM jk_t2 t2
ORDER BY d2)
),'//ROW/*')
) AS output
FROM dual;but the output is<ALL>
<D1>1</D1>
<D2>T2_1</D2>
<INN>
<T1>
<ROW><C1>1</C1><C2>A11</C2><C3>1</C3></ROW>
<ROW><C1>2</C1><C2>A21</C2><C3>1</C3></ROW>
</T1>
</INN>
<C1>1</C1>
<C2>A11</C2>
<C3>1</C3>
<C1>2</C1>
<C2>A21</C2>
<C3>1</C3>
</ALL>What SELECT should it be to give me the correct output?
Thanks in advance,
JackKHi,
Drop the CURSOR thing, and use only SQL/XML functions :
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for 64-bit Windows: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production
SQL>
SQL> set long 5000
SQL>
SQL> select xmlelement("ALL",
2 xmlelement("D1", d1)
3 , xmlelement("D2", d2)
4 , xmlelement("INN",
5 xmlelement("T1",
6 xmlagg(
7 xmlelement("ROW",
8 xmlforest(c1, c2, c3)
9 )
10 )
11 )
12 )
13 ).extract('/*') -- for display purpose only
14 from jk_t2 t2
15 join jk_t1 t1 on t1.c3 = t2.d1
16 group by t2.d1, t2.d2 ;
XMLELEMENT("ALL",XMLELEMENT("D
<ALL>
<D1>1</D1>
<D2>T2_1</D2>
<INN>
<T1>
<ROW>
<C1>1</C1>
<C2>A11</C2>
<C3>1</C3>
</ROW>
<ROW>
<C1>2</C1>
<C2>A21</C2>
<C3>1</C3>
</ROW>
</T1>
</INN>
</ALL>
{code} -
I need help creating a formula that looksup cell data and give a value.
I want to have the table "At a glance" show the total days a driver has worked, there total in sales and there total in milage. The table shown is a example of what I want to have happen. I want to input any name into cell B2,C2,D2,ect. that is found in the row C2:C17 of Checkpoint (Truck 1) and Checkpoint (Truck 2) and return the total amount of day the driver has driven both trucks, The total in sales the driver has collected (Truck 1 and 2) and How many miles the driver has driven (Truck 1 and 2). I realize that these tables are not labeled correct. If I enter a name into B2 and the driver associated with that name hasnt driven then I want "N/A' to show in cell B2 and so one. I assume that the formula that is created for cell B2 will be copied and pasted into cell C2, D2, ect..
If someone could help me with this problem I'd really appreciate it.
Thanks.Hi br,
To show the number of days worked by a driver, you need to COUNT the number of times that driver's name appears in row 2 of both tables.
To calculate his total sales and total mileage, you need to SUM the amounts he brought in each day and the distances he drove each day.
Your functions for this are COUNTIF and SUMIF.
Formulas in At a Glance:
B2: =COUNTIF(Truck 1 :: $3:$3,B$1)+COUNTIF(Truck 2 :: 3:3,B$1)
B3: =SUMIF(Truck 1 :: $3:$3,B$1,Truck 1 :: $5:$5)+SUMIF(Truck 2 :: $3:$3,B$1,Truck 2 :: $5:$5)
B4: =SUMIF(Truck 1 :: $3:$3,B$1,Truck 1 :: $12:$12)+SUMIF(Truck 2 :: $3:$3,B$1,Truck 2 :: $12:$12)
Fill all three formulas right to the last column of At a Glance.
To put N/A in place of the 0 in Roger's column and the empty columns, wrap each of the formulas in an IF statement:
Bn: =IF(AND(ISERROR(MATCH(B$1,Truck 1 :: $3:$3,0)),ISERROR(MATCH(B$1,Truck 2 :: $3:$3,0))),"N/A",formula)
Where formula is the formula used in column B above.
Regards,
Barry -
Need Help with Formula using SQL maybe
I need help! I work with Crystal reports XI and usually manage just fine with the Formula editor but his one I think will require some SQL and I am not good at that.
We are running SQL 2000 I think (Enterprise Manager 8.0) Our sales people schedule activities and enter notes for customer accounts. Each is stored in a separate table. I need to find activities that are scheduled 240 days into the future and show the most recent note that goes with the account for which that activity is scheduled.
The two tables, Activities and History, share the an accountID field in common that links them to the correct customer account. I want to look at dates in the Startdate.Activities field more than 240 days in the future and show the most recent note from the History table where the accountid's match. I figure my query will contain a join on AccountID.Activities and AccountID.History used with Max(completedate.History) but I do not understand how to word it.
I would like to perform all this in crystal if possible. I humbly request your help.
MemberyYou SQL would look something like this...
SELECT
a.AccountID,
a.BlahBlahBlah, -- Any other fields you want from the Activities table
h.LastComment
FROM Activities AS a
LEFT OUTER JOIN History AS h ON a.AccountID = h.AccountID
WHERE (a.ActivityDate BETWEEN GetDate() AND DateAdd(dd, 240, GetDate()))
AND h.HistoryID IN (
SELECT MAX(HistoryID)
FROM History
GROUP BY AccountID)
This method assumes that the History table has a HistoryID that increments up automatically each time a new comment is added... So a comment made today would always have a higher HistoryID that one made yesterday.
If I'm wrong and there is no HistoryID or the HistoryID doesn't increment in a chronological fashion, it can still be done but the code is a bit more complex.
HTH,
Jason -
I need to pass a query in form of string to DBMS_XMLQUERY.GETXML package...the parameters to the query are date and varchar ..please help me build the string .Below is the query and the out put. ( the string is building fine except the parameters are with out quotes)
here is the procedure
create or replace
procedure temp(
P_MTR_ID VARCHAR2,
P_FROM_DATE IN DATE ,
P_THROUGH_DATE IN DATE ) AS
L_XML CLOB;
l_query VARCHAR2(2000);
BEGIN
l_query:= 'SELECT
a.s_datetime DATETIME,
a.downdate Ending_date,
a.downtime Ending_time,
TO_CHAR(ROUND(a.downusage,3),''9999999.000'') kWh_Usage,
TO_CHAR(ROUND(a.downcost,2),''$9,999,999.00'') kWh_cost,
TO_CHAR(ROUND(B.DOWNUSAGE,3),''9999999.000'') KVARH
FROM
(SELECT s_datetime + .000011574 s_datetime,
TO_CHAR(S_DATETIME ,''mm/dd/yyyy'') DOWNDATE,
DECODE(TO_CHAR(s_datetime+.000011574 ,''hh24:'
||'mi''), ''00:'
||'00'',''24:'
||'00'', TO_CHAR(s_datetime+.000011574,''hh24:'
||'mi'')) downtime,
s_usage downusage,
s_cost downcost
FROM summary_qtrhour
WHERE s_mtrid = '
||P_MTR_ID||
' AND s_mtrch = ''1''
AND s_datetime BETWEEN TO_DATE('
||P_FROM_DATE||
',''DD-MON-YY'') AND (TO_DATE('
||P_THROUGH_DATE||
',''DD-MON-YY'') + 1)
) a,
(SELECT s_datetime + .000011574 s_datetime,
s_usage downusage
FROM summary_qtrhour
WHERE s_mtrid = '
||P_MTR_ID||
' AND s_mtrch = ''2''
AND s_datetime BETWEEN TO_DATE('
||P_FROM_DATE||
',''DD-MON-YY'') AND (TO_DATE('
||P_THROUGH_DATE||
','' DD-MON-YY'') + 1)
) B
where a.S_DATETIME = B.S_DATETIME(+)';
SELECT DBMS_XMLQUERY.GETXML('L_QUERY') INTO L_XML FROM DUAL;
INSERT INTO NK VALUES (L_XML);
DBMS_OUTPUT.PUT_LINE('L_QUERY IS :'||L_QUERY);
END;
OUTPUT parameters are in bold (the issue is they are coming without single quotes otherwise th equery is fine
L_QUERY IS :SELECT
a.s_datetime DATETIME,
a.downdate Ending_date,
a.downtime Ending_time,
TO_CHAR(ROUND(a.downusage,3),'9999999.000') kWh_Usage,
TO_CHAR(ROUND(a.downcost,2),'$9,999,999.00') kWh_cost,
TO_CHAR(ROUND(B.DOWNUSAGE,3),'9999999.000') KVARH
FROM
(SELECT s_datetime + .000011574 s_datetime,
TO_CHAR(S_DATETIME ,'mm/dd/yyyy') DOWNDATE,
DECODE(TO_CHAR(s_datetime+.000011574 ,'hh24:mi'), '00:00','24:00', TO_CHAR(s_datetime+.000011574,'hh24:mi')) downtime,
s_usage downusage,
s_cost downcost
FROM summary_qtrhour
WHERE s_mtrid = N3165 AND s_mtrch = '1'
AND s_datetime BETWEEN TO_DATE(01-JAN-13,'DD-MON-YY') AND (TO_DATE(31-JAN-13,'DD-MON-YY') + 1)
) a,
(SELECT s_datetime + .000011574 s_datetime,
s_usage downusage
FROM summary_qtrhour
WHERE s_mtrid = N3165 AND s_mtrch = '2'
AND s_datetime BETWEEN TO_DATE(01-JAN-13,'DD-MON-YY') AND (TO_DATE(31-JAN-13,' DD-MON-YY') + 1)
) B
where a.S_DATETIME = B.S_DATETIME(+)The correct way to handle this is to use bind variables.
And use DBMS_XMLGEN instead of DBMS_XMLQUERY :
create or replace procedure temp (
p_mtr_id in varchar2
, p_from_date in date
, p_through_date in date
is
l_xml CLOB;
l_query VARCHAR2(2000);
l_ctx dbms_xmlgen.ctxHandle;
begin
l_query:= 'SELECT
a.s_datetime DATETIME,
a.downdate Ending_date,
a.downtime Ending_time,
TO_CHAR(ROUND(a.downusage,3),''9999999.000'') kWh_Usage,
TO_CHAR(ROUND(a.downcost,2),''$9,999,999.00'') kWh_cost,
TO_CHAR(ROUND(B.DOWNUSAGE,3),''9999999.000'') KVARH
FROM
(SELECT s_datetime + .000011574 s_datetime,
TO_CHAR(S_DATETIME ,''mm/dd/yyyy'') DOWNDATE,
DECODE(TO_CHAR(s_datetime+.000011574 ,''hh24:'
||'mi''), ''00:'
||'00'',''24:'
||'00'', TO_CHAR(s_datetime+.000011574,''hh24:'
||'mi'')) downtime,
s_usage downusage,
s_cost downcost
FROM summary_qtrhour
WHERE s_mtrid = :P_MTR_ID
AND s_mtrch = ''1''
AND s_datetime BETWEEN TO_DATE(:P_FROM_DATE,''DD-MON-YY'')
AND (TO_DATE(:P_THROUGH_DATE,''DD-MON-YY'') + 1)
) a,
(SELECT s_datetime + .000011574 s_datetime,
s_usage downusage
FROM summary_qtrhour
WHERE s_mtrid = :P_MTR_ID
AND s_mtrch = ''2''
AND s_datetime BETWEEN TO_DATE(:P_FROM_DATE,''DD-MON-YY'')
AND (TO_DATE(:P_THROUGH_DATE,'' DD-MON-YY'') + 1)
) B
where a.S_DATETIME = B.S_DATETIME(+)';
l_ctx := dbms_xmlgen.newContext(l_query);
dbms_xmlgen.setBindValue(l_ctx, 'P_MTR_ID', p_mtr_id);
dbms_xmlgen.setBindValue(l_ctx, 'P_FROM_DATE', to_char(p_from_date, 'DD-MON-YY'));
dbms_xmlgen.setBindValue(l_ctx, 'P_THROUGH_DATE', to_char(p_through_date, 'DD-MON-YY'));
l_xml := dbms_xmlgen.getXML(l_ctx);
dbms_xmlgen.closeContext(l_ctx);
insert into nk values (l_xml);
end; -
Help me write a SQL query; urgent
Hi, can somebody please help me write a SQL query.
I have 3 tables each with the same column names (Col1, Col2, Col3). Col1 is PK with Unique Constraint.
I wanted to add values of Col2 and Col3 (from all 3 tables) and put it in a separate table (i.e aggregated) of all values found in Col1.
Does anybody help me please ?
thanks alot.Please don't mark your question as urgent. You've been around here long enough that you should know that it will not get your question anwered any faster, and may just irritate people into not answering at all.
I'm not sure exactly what you want.
Are you saying you want t1.c2 + t1.c3 + t2.c2 + t2.c3+ t3.c2 + t3.c3 for the rows that have the same c1 in all three tables?
If so, it would be like this, I think: insert into t4
select t1.c1
, t1.c2 + t1.c3 + t2.c2 + t2.c3+ t3.c2 + t3.c3
from t1, t2, t3
where t2.c1 = t1.c1
and t3.c1 = t1.c1If that's not what you want, please clarify.
And next time maybe you should post your SQL question in a SQL forum. -
How to compare result from sql query with data writen in html input tag?
how to compare result
from sql query with data
writen in html input tag?
I need to compare
user and password in html form
with all user and password in database
how to do this?
or put the resulr from sql query
in array
please help me?Hi dejani
first get the user name and password enter by the user
using
String sUsername=request.getParameter("name of the textfield");
String sPassword=request.getParameter("name of the textfield");
after executeQuery() statement
int exist=0;
while(rs.next())
String sUserId= rs.getString("username");
String sPass_wd= rs.getString("password");
if(sUserId.equals(sUsername) && sPass_wd.equals(sPassword))
exist=1;
if(exist==1)
out.println("user exist");
else
out.println("not exist"); -
Size of SQL query before execution and after execution
hi all
I need help on how can i find out the size of SQL query before execution and after execution in java
The query can be any query select / insert / update
Can anyone help me if any system tables help to find out the required size i mentioned
Urgent help is required
Thanking in advanceI need the size in terms of bytes
like the rquirement is stated as below
select ................: 10 B , return 250 B
so i need size before and after execution in terms of bytes -
I need help, do not want to lose my data, PLEASE HELP IN SPANISH
Una vez que el dispositivo está pidiendo ser restaurado con iTunes ... ya es demasiado tarde para salvar nada ... y usted debe continuar con la recuperación de ...
Vea aquí> http://support.apple.com/kb/HT1808
Es posible que tenga que probar más de una vez ... Asegúrese de seguir todos los pasos ...
Tómese su tiempo ... Preste especial atención a los pasos 3 y 4.
Para minimizar la pérdida ...
Después de haber recuperado su dispositivo ...
Re-sincronizar su contenido o restauración de la última copia de seguridad ...
Restaurar desde copia de seguridad> http://support.apple.com/kb/ht1766
Once the Device is asking to be Restored with iTunes... it is too late to save anything... and you must continue with the Recovery...
See Here > http://support.apple.com/kb/HT1808
You may need to try this More than Once... Be sure to Follow ALL the Steps...
Take your time... Pay particular attention to Steps 3 and 4.
To minimise loss...
After you have Recovered your Device...
Re-Sync your Content or Restore from the most recent Backup...
Restore from Backup > http://support.apple.com/kb/ht1766 -
hi i need help, i just go a new iPhone 5 and i want to put all my backed up stuff on, but it doesn't show on the list, how do i get all my stuff back and yes i did backup the old phone
Follow the explicit instructions in the article from which the thread was started and restore the device from the backup of the previous device.
Maybe you are looking for
-
What is the result of using the "post tax payable" option in the advance ta
what is the result of using the "post tax payable" option in the advance tax report - program rfumsv00? I know it will then post the input and output tax to the tax payable GL account. But from point of view of reporting, when you run the advance tax
-
Mail For Exchange - Server Config Query
Hi there. We are in the process of rolling out new Mobile Phones throughout the business - namely the Nokia E51. I am also the IT system admim, and we have a run into a problem. We have 6 back end Exchange servers containing the users mailboxes. We h
-
How do I uninstall Adobe Pro IV?
How do I uninstall Adobe Pro IV? I signed up for 2 months while on a project and now cant open a PDF. Is it becaues in the fine print you have to pay for a years licence as a miniumum (which I only realised after I signed up)so I need to pay for th
-
How do I open an unsupported Tiff?
Hello there, I have a folder of tiffs that were recovered from an sd card out of a Canon T3i. The only recovery software that worked saved them as Tiff files. I can view the thumbnail, I can even view the full res version in Windows Picture Viewe
-
Toplink QueryException with a constructor expression
Hello together, I have a Spring 2.5 web application with JPA and JSF running on Glassfish and a PostgreSql database. Everything is running perfect on localhost but on an other machine, on enterprise Glassfish Server I'm getting the following error: j