Simple Select Query (I think)
Hello,
How can I make a query to do this ?
I have a table t with a number(2) n column.
This table contains value from 0 to 99.
When I select I want to see the value selected on 2 digits like 01 and not 1.
Is it possible ?
Thankx
I am not sure whether I understand your question correctly.
Because since you have defined your column as number.Even if you insert 01, it will go as 1
CHeers
Ashwin N.
08:30:17 SQL> desc dbc_test
Name Null? Type
GIVEN_FIELD NUMBER
08:30:22 SQL> delete from dbc_test
08:30:28 2 /
3 rows deleted.
08:30:29 SQL> insert into dbc_test values (01);
1 row created.
08:30:40 SQL> insert into dbc_test values (09);
1 row created.
08:30:50 SQL> insert into dbc_test values (99);
1 row created.
08:31:06 SQL> select * from dbc_test;
GIVEN_FIELD
1
9
99
3 rows selected.
08:31:13 SQL> Select * from dbc_test where given_field >=10;
GIVEN_FIELD
99
1 row selected.
08:31:29 SQL>
Similar Messages
-
A simple select query taking forever
Hi All
I am not able to execute a simple select query, I traced my session and here is TKPROF of that Trace.
Solaris 8 , Oracle 10.2.0.4.0
TKPROF: Release 10.2.0.4.0 -
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Trace file: 502_ora_28260.trc
Sort options: default
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
select OBJECT_ID , ORACLE_USERNAME , SESSION_ID
from
v$locked_object
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.03 32.86 0 0 6 0
total 3 0.03 32.86 0 0 6 0
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: SYS
Rows Row Source Operation
0 MERGE JOIN (cr=0 pr=0 pw=0 time=60 us)
0 SORT JOIN (cr=0 pr=0 pw=0 time=58 us)
0 MERGE JOIN (cr=0 pr=0 pw=0 time=42 us)
1 SORT JOIN (cr=0 pr=0 pw=0 time=2443 us)
1105 FIXED TABLE FULL X$KSUSE (cr=0 pr=0 pw=0 time=1204 us)
0 SORT JOIN (cr=0 pr=0 pw=0 time=41 us)
1001 FIXED TABLE FULL X$KTCXB (cr=0 pr=0 pw=0 time=16132 us)
0 SORT JOIN (cr=0 pr=0 pw=0 time=0 us)
0 FIXED TABLE FULL X$KTADM (cr=0 pr=0 pw=0 time=0 us)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 1 0.00 0.00
buffer busy waits 34 0.97 32.83
SQL*Net break/reset to client 1 0.00 0.00
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.03 32.86 0 0 6 0
total 3 0.03 32.86 0 0 6 0
Misses in library cache during parse: 1
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 1 19.00 19.00
buffer busy waits 34 0.97 32.83
SQL*Net break/reset to client 1 0.00 0.00
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 0 0.00 0.00 0 0 0 0
Execute 0 0.00 0.00 0 0 0 0
Fetch 0 0.00 0.00 0 0 0 0
total 0 0.00 0.00 0 0 0 0
Misses in library cache during parse: 0
1 user SQL statements in session.
0 internal SQL statements in session.
1 SQL statements in session.
Trace file: 502_ora_28260.trc
Trace file compatibility: 10.01.00
Sort options: default
0 session in tracefile.
1 user SQL statements in trace file.
0 internal SQL statements in trace file.
1 SQL statements in trace file.
1 unique SQL statements in trace file.
64 lines in trace file.
32 elapsed seconds in trace file. There is nothing fishy in alert logs... Please guide
ThanksThere it is TOP
$ RUMPSHAKER>top
load averages: 6.63, 7.45, 7.88; up 33+12:02:33
3631 processes: 3616 sleeping, 5 zombie, 1 stopped, 9 on cpu
CPU states: 58.6% idle, 18.2% user, 23.2% kernel, 0.0% iowait, 0.0% swap
Memory: 192G phys mem, 92G free mem, 96G swap, 96G free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
13752 ora0005 1 19 0 4243M 4219M sleep 5:21 62.78% oracle
17758 ora0005 1 25 0 1174M 1156M cpu 1:05 37.12% oracle
17923 root 1 57 0 18M 14M sleep 689:07 13.59% ecap_monitor
20777 root 12 58 0 14M 13M sleep 864:33 11.55% OracleAgent
18884 ora0004 1 1 0 830M 813M sleep 0:01 9.54% oracle
12070 ora0004 61 58 0 320M 315M sleep 28.5H 8.29% emagent
20347 root 16 59 0 33M 25M sleep 26.0H 6.34% caiUxsA2
17949 ist0005 1 53 0 7984K 4984K cpu 0:00 3.93% top
1 root 1 59 0 2912K 1288K sleep 32.2H 3.75% init
15035 ora0001 1 46 0 32M 22M sleep 166:43 2.98% tnslsnr
5748 ora0004 11 54 0 516M 496M sleep 389:37 2.78% oracle
20567 ora0004 1 55 0 27M 22M sleep 0:00 2.69% sqlplus
6730 ora0001 1 33 0 632M 616M sleep 0:06 2.67% oracle
20557 ora0004 1 56 0 27M 23M sleep 0:00 2.53% sqlplus
5355 ora0005 1 59 0 1154M 1137M sleep 0:04 2.46% oracleand VMSTAT 2 5
$ RUMPSHAKER> vmstat 2 5
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 s1 s2 sd in sy cs us sy id
6 8 0 143125576 74272080 4628 24012 488 150 149 0 0 4 4 -2 0 25037 192698 65249 38 26 36
1 3 0 162803992 95246464 1989 6989 0 4 4 0 0 6 6 0 0 9170 57822 26434 8 13 79
1 7 0 162801352 95240296 3043 15633 4 9737 9682 0 0 0 0 0 0 11277 73516 38200 16 16 68
3 10 0 162801560 95227920 3326 12729 16 16862 16774 0 0 1 1 0 0 11377 86054 44758 16 17 68
1 10 0 162784520 95186488 9638 48359 24 11682 11626 0 0 13 13 0 0 13484 149366 44205 23 29 47 -
Simple Select Query Taking 5-10s
We have a web server on the same lan as the DB server.
A simple select * from tablename (~100 entries) is taking
anywhere from 30ms to 10 seconds lan. ASP code on the web server
provides instant (30ms) queries. Ping is never <1ms. If I point
to a remote DB server, the same query is never more than 300ms
(which is great for over the internet).
I enabled logging in CFAdmin -> Datasources and shortly
after my select * from tablename I see this:
spy(2009/02/28 16:39:00.539)>>
Connection[2].setReadOnly(boolean readOnly)
spy(2009/02/28 16:39:00.539)>> readOnly = false
spy(2009/02/28 16:39:00.539)>> OK
spy(2009/02/28 16:39:05.726)>> OK (true)
We need to get this up and running ASAP. Please help!!> I'm connecting to SQL Server 2000 on a Win2k3 box.
> The default CF8 Installation.
> Every table this happens for.
OK. I think CF8 runs the most recent JDBC drivers too. It
might pay to
check that though.
> Select * is needed, because we have existing sites we
are migrating a lot of
> which use select *.
Sure. But just for the purposes of experimentation, change
your test code
to specify columns to see if it makes any difference.
It might pay to get hold of FusionReactor to check what CF is
doing with
the queries, under the hood.
Adam -
Simple select query is taking a lot of time
hi gems...
my table has 7267563 rows...and i am doing a simple select * from table;
but it is taking a lot of time nearly 25minutes but not completed...
when i did select count(1) from table then it gave the result instantly also select * from table where rownum < 10 is also fine...even when i am selecting all the records using rownum i.e. select * from table where rownum < 7267563 is also giving result instantly...
but the entire table is not getting result i.e. select * from table...also there is no lock in the table(though i know that select is nothing to do with lock)..
what may be the issue..please suggest...thanks in advance...
Edited by: user12780416 on Dec 12, 2011 11:08 PMHi;
Please see below thread
query takes too long ...
help in solving long run query
HOW TO: Post a SQL statement tuning request - template posting
Hope it helps
Regard
Helios -
Simple Select query with 'where', 'and', 'between' clauses takes time
Hi,
I have a select query as below
SELECT * FROM (SELECT a.*,ROWNUM currentStartRecord From (select ai_inbound.ai_inb_seq tableseq,'AI_INBOUND' tablename,'INBOUND' direction,ai_inbound.appl,ai_inbound.ai_date datetime,ai_inbound.ic_receiver_id pg_id,ai_inbound.ic_sender_id tp_id,ai_inbound.session_no,ai_inbound.ic_ctl_no,ai_inbound.msg_set_id msg_type,ai_inbound.appl_msg_ctl_no reference_no,ai_inbound.fg_version version,ai_inbound.msg_status status,ai_inbound.input_file_name,ai_inbound.output_file_name,ai_inbound.ack_file_name from ai_inbound where ai_inbound.appl = ? and ai_inbound.ai_date between ? and ? )a where ROWNUM <= 49)where currentStartRecord >= 0
The above query takes longer time through application than expected when the date fields are passed whereas it works fine when no date fields are passed. We are using oracle9.2 version of the database. All the indexed columns and partitioned indexed columns are rebuild.
Kindly let me know how can i tune up the query to improve the performance.
ThanksHi,
I have a select query as below
SELECT * FROM (SELECT a.*,ROWNUM currentStartRecord From (select ai_inbound.ai_inb_seq tableseq,'AI_INBOUND' tablename,'INBOUND' direction,ai_inbound.appl,ai_inbound.ai_date datetime,ai_inbound.ic_receiver_id pg_id,ai_inbound.ic_sender_id tp_id,ai_inbound.session_no,ai_inbound.ic_ctl_no,ai_inbound.msg_set_id msg_type,ai_inbound.appl_msg_ctl_no reference_no,ai_inbound.fg_version version,ai_inbound.msg_status status,ai_inbound.input_file_name,ai_inbound.output_file_name,ai_inbound.ack_file_name from ai_inbound where ai_inbound.appl = ? and ai_inbound.ai_date between ? and ? )a where ROWNUM <= 49)where currentStartRecord >= 0
The above query takes longer time through application than expected when the date fields are passed whereas it works fine when no date fields are passed. We are using oracle9.2 version of the database. All the indexed columns and partitioned indexed columns are rebuild.
Kindly let me know how can i tune up the query to improve the performance.
Thanks -
Problem with SImple Select Query
Hi
I am trying to write a simple Select SQL to a table and find out whether certain data exist or not. I have done this before but now for some reason this one is not working.
I started like this
select single * from ANLH where ANLN1 = rec-Asset
and BUKRS = Comp_Cd.
* Error Handler for non-existent empno in the database
if sy-subrc = 0 or rec-asset = ''.
rec_failed = 'T'.
concatenate 'Asset does not exist' rec-asset into asst_err.
endif.
when i debugged the code i found out that sy-subrc is returning 4 all the time. (i have passes some numbers in rec-Asset which i know doesn't exist in that table.
So i have modified the code to see if its pulling anything.
like this
select single ANLN1 into v_Asset from ANLH where ANLN1 = rec-Asset
and BUKRS = Comp_Cd.
* Error Handler for non-existent empno in the database
if sy-subrc = 0 or rec-asset = ''.
rec_failed = 'T'.
concatenate 'Asset does not exist' rec-asset into asst_err.
endif.
in debug v_asset is always empty (for real number and for the madeup number)
Please help.
Thanks
Edited by: Anwarul Kabir on Apr 3, 2008 9:27 PM
Edited by: Anwarul Kabir on Apr 3, 2008 9:29 PM
Edited by: Anwarul Kabir on Apr 3, 2008 9:30 PMThanks for the answer. But i thought i was doing the same. Anyway I replaced my code with yours but result is the same. I also did this
select single
ANLN1 into v_Asset
from ANLH where
ANLN1 = '20000544'
and BUKRS = '3000'.
I did SE11 and entered the table name and i can see that data.
but on my code i get sy-subrc=4 and v_Asset is blank
again i tried with this madeup number which i know its not in the table
select single
ANLN1 into v_Asset
from ANLH where
ANLN1 = '2056555433544'
and BUKRS = '3000'.
Get sy-subrc=4 and v_Asset is blank...
Is there anything special about the Table? -
Simple SELECT query to generate INSERT for a table
Hi,
I am looking for a SELECT query which generates INSERT statements for a table.Please guide.
Thanks
PG.Like this?
SQL> SELECT * from kons;
COL1 COL2
1 1
2 2
SQL> SELECT 'INSERT INTO kons VALUES('||col1||','||col2||');' statement FROM kons;
STATEMENT
INSERT INTO kons VALUES(1,1);
INSERT INTO kons VALUES(2,2);
SQL> If you have character and / or date columns you will have to change my example,
but you might get the idea from it.
You can spool the result to a file.
Regards,
Guido
Edit: ';' added to end of statement... -
How to reduce functions with simple select query?
I have a function to identify the root parent of a particular id. I use this in function in select query,which invokes function for every row in table.I need to merge the function inside the query itself.Please suggest me.
Function
CREATE OR REPLACE FUNCTION fnroot(v_id int ) return int as
v_left int;
v_right int;
v-result int;
begin
select left,right into v_left,v_right from sam where id=v_id;
select id into v_result from sam
where id in (select id from mst m where m.depth=2 )
and left < v_left and right > v_right;
return v_result;
end
query:
select fnroot(s.id) from master s;Hi,
Ramin's idea is very good. You must use joins in function as below
CREATE OR REPLACE FUNCTION fnroot(v_id int ) return int as
v_result int;
Begin
select s.id into v_result
from sam s on s.id = v_id
left join sam s2 on (s2.id in (select id from mst m where m.depth = 2) and s2.left < s.left and s2.right > s.right)
return v_result;
End;
Regards
Mahir M. Quluzade -
Decimal places in a simple select query
Hi , I've a very basic query for you. I'm running the Select statement below, and want the Area to be just two decimal places. Is there a simple way of doing this ?
I'm having to compare the difference in accuracy between area calculations in Oracle Spatial and MapInfo to some very sceptical users, and they want to know if we're going to be getting 'vastly' different results.
(The tolerance is set to 0.5 mm in this instance, as we're using Ordnance Survey MasterMap to derivve our spatial objects).
select sssi_name, sdo_geom.sdo_area (geoloc, 0.0005)
from SSSI
Many Thanks,
BruceDo you mean simply the following?
select
sssi_name,
round(sdo_geom.sdo_area(geoloc, 0.0005), 2)
from SSSI -
"System Resource Exceeded" for simple select query in Access 2013
Using Access 2013 32-bit on a Windows Server 2008 R2 Enterprise. This computer has
8 GB of RAM.
I am getting:
"System Resource Exceeded" errors in two different databases
for simple queries like:
SELECT FROM .... GROUP BY ...
UPDATE... SET ... WHERE ...
I compacted the databases several times, no result. One database size is approx 1 GB, the other one is approx. 600 MB.
I didn't have any problems in Office 2010
so I had to revert to this version.
Please advise.
Regards,
M.R.Hi Greg. I too am running Access on an RDP server. Checking Task Manager, I can see many copies of MSACCESS running in the process list, from all users on the server. We typically have 40-60 users on that server. I am only changing the Processor Affinity
for MY copy, and only when I run into this problem. Restarting Access daily, I always get back to multi-processor mode soon thereafter.
As this problem only seems to happen on very large Access table updates, and as there are only three of us performing those kind of updates, we have good control on who might want to change the affinity setting to solve this problem. However, I
understand that in other environments this might not be a good solution. In my case, we have 16 processors on the server, so I always take #1, my co-worker here in the US always takes #2, etc. This works for us, and I am only describing it here in case it
works for someone else.
The big question in my mind is what multi-threading methods are employed by Microsoft for Access that would cause this problem for very large datasets. Processing time for an update query on, say, 2 million records is massively improved by going down
to 1 processor. The problem is easily reproduced, and so far I have not seen it in Excel even when working with very large worksheets. Also have not seen it in MS SQL. It is just happening in Access. -
Hi,
I'm using database version 10.2.0.4.0
I have a simple table here that goes like this:
customerPreference (customerid, fruitid)
I want to find out which customerid had bought all the different fruits.
I did a distinct count of fruitid, but how do I choose which customerid has that distinct count value?
select count(distinct fruitid) AS total_number_of fruits
from customerPreference;
Regards,
Keith>
customerPreference (customerid, fruitid)
I want to find out which customerid had bought all the different fruits.
I did a distinct count of fruitid, but how do I choose which customerid has that distinct count value?
select count(distinct fruitid) AS total_number_of fruits
from customerPreference;
>
Well you got the first part done; the number of distinct fruits.
So the next part is to get a list of customers and the number of distinct fruits each of them has purchased and then filter it using your query above. This is untested since you didn't provide table ddl or data.
SELECT CUSTOMERID, COUNT(DISTINCT FRUITID) AS CUST_DISTINCT_FRUITS
FROM CUSTOMERPREFERENCE
GROUP BY CUSTOMERID
HAVING COUNT(DISTINCT FRUITID) = (
select count(distinct fruitid) AS total_number_of fruits
from customerPreference); -
Improving a simple select query, which uses all rows.
Hi All,
Please excuse me if the question is too silly. Below is my code
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
Elapsed: 00:00:00.07
SQL> show parameter optim
NAME TYPE VALUE
object_cache_optimal_size integer 102400
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 10.2.0.1
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
plsql_optimize_level integer 2
SQL> explain plan for select SUM(decode(transaction_type,'D',txn_amount,0)) payments_reversals,
2 SUM(decode(transaction_type,'C',txn_amount,0)) payments,primary_card_no,statement_date
3 from credit_card_pymt_dtls group by primary_card_no,statement_date;
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 2801218574
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1912K| 56M| | 21466 (3)| 00:04:18 |
| 1 | SORT GROUP BY | | 1912K| 56M| 161M| 21466 (3)| 00:04:18 |
| 2 | TABLE ACCESS FULL| CREDIT_CARD_PYMT_DTLS | 1912K| 56M| | 4863 (3)| 00:00:59 |
9 rows selected.
SQL> select index_name,index_type
2 from all_indexes
3 where table_name = 'CREDIT_CARD_PYMT_DTLS';
INDEX_NAME INDEX_TYPE
INDX_TRANTYPE BITMAP
INDX_PCARD NORMAL
INDX_PSTATEMENT_DATE NORMALThe query is using all the records in the CREDIT_CARD_PYMT_DTLS table. Transaction type will be either 'C' or 'D'.
CREDIT_CARD_PYMT_DTLS has 2 million rows and the qury will output 1.5 million rows. Table statisticas are upto date.
The query now is taking almost 5 minutes. Is thaere any way to reduce the time ?
Our DB server has 8 CPUs and 8 GB memory. Is the timing genuine ?
Thanks in Advance.
Edited by: user11115924 on Apr 29, 2009 2:43 AM
All the columns used in the query are already indexed. ( Ofcourse, not only for this query.)Hi All,
Thanks for the helps provided. Expecting it once more..
My actual query is as below
select primary_card_no,base_segment_number,atab.previous_balance,current_balance,intrest_amt_due_this_cycle,total_min_amt_due,total_credit_limit,
total_purchase_this_cycle,total_cash_trns_this_cycle,available_credit_limit,payments,utilization,payment_ratio,payments_reversals,cash_limit,
available_cash_limit, description
from
select primary_card_no,DECODE(base_segment_number,NULL,primary_card_no,base_segment_number) base_segment_number,
SUM(previous_balance) previous_balance,SUM(current_balance) current_balance ,SUM(intrest_amt_due_this_cycle) intrest_amt_due_this_cycle,
SUM(total_min_amt_due) total_min_amt_due,SUM(total_credit_limit_all) total_credit_limit,
SUM(total_purchase_this_cycle) total_purchase_this_cycle,SUM(total_cash_trns_this_cycle) total_cash_trns_this_cycle,
SUM(available_credit_limit) available_credit_limit,SUM(payments) payments,
(SUM(NVL(current_balance,0)) / SUM(total_credit_limit_all)) * 100 utilization,
(SUM(NVL(payments,0)) / DECODE(SUM(previous_balance),0,NULL,SUM(previous_balance))) * 100 payment_ratio,
SUM(payments_reversals) payments_reversals,SUM(cash_limit) cash_limit,SUM(available_cash_limit) available_cash_limit
from
( select a.*,NVL(payments_reversals,0)payments_reversals ,NVL(payments,0) payments
from
( select primary_card_no,previous_balance,current_balance,intrest_amt_due_this_cycle,total_min_amt_due,total_purchase_this_cycle,
total_cash_trns_this_cycle,statement_date,available_credit_limit,cash_limit,available_cash_limit,
(case when statement_date <= TO_DATE('301108','ddmmyy') then NULLIF(total_credit_limit,0)
else NULLIF((select credit_limit
from ccm_dbf_chtxn_v0 t1
where t1.batch_id = '011208'
and SUBSTR(t1.card_number,4) = a.primary_card_no),0)
end) total_credit_limit_all
from
( select primary_card_no,previous_balance,current_balance,INTREST_AMT_DUE_THIS_CYCLE,
TOTAL_MIN_AMT_DUE,TOTAL_PURCHASE_THIS_CYCLE,TOTAL_CASH_TRNS_THIS_CYCLE,statement_date,
AVAILABLE_CREDIT_LIMIT,cash_limit,available_cash_limit,total_credit_limit
from credit_card_master_all@FGBAPPL_LINK
) a
where statement_date between ADD_MONTHS(TRUNC(SYSDATE,'mm'),-6) and TRUNC(SYSDATE,'mm')-1
) a,
( select SUM(decode(transaction_type,'D',txn_amount,0)) payments_reversals,
SUM(decode(transaction_type,'C',txn_amount,0)) payments,primary_card_no,TO_CHAR(statement_date,'MON-RRRR') sdate
from credit_card_pymt_dtls
group by primary_card_no,TO_CHAR(statement_date,'MON-RRRR')
) b
where TO_CHAR(a.statement_date,'MON-RRRR')= b.sdate(+)
and a.primary_card_no= b.primary_card_no(+)
) a,
( select SUBSTR(a.card_number,4) card_number,base_segment_number,TO_DATE(account_creation_date,'DDMMYYYY') account_creation_date,
a.batch_id, credit_limit credit_limit_current
from
( select *
from ccm_dbf_phtxn_v0
where batch_id= (SELECT to_char(MAX(TO_DATE(SUBSTR(BATCH_ID,1,6),'DDMMRR')),'DDMMRR') FROM CCM_MST_V0)
) a,
( select *
from ccm_dbf_chtxn_v0
where batch_id=(SELECT to_char(MAX(TO_DATE(SUBSTR(BATCH_ID,1,6),'DDMMRR')),'DDMMRR') FROM CCM_MST_V0)
) b
where a.card_number=b.card_number
and TO_NUMBER(ROUND(MONTHS_BETWEEN(SYSDATE,TO_DATE(account_creation_date,'DDMMYYYY')),2)) >=6
and a.company ='BNK'
) b
where a.primary_card_no = b.card_number
group by primary_card_no,base_segment_number) atab, card_summary_param btab
where utilization between utilization_low and utilization_high
and payment_ratio between payment_ratio_low and payment_ratio_high
and SIGN(atab.previous_balance) =btab.previous_balanceWhere I have to put the PARALLEL hint for maximum performance?
Sorry for asking blindly without doing any R&D. Time is not permitting that...
Edited by: user11115924 on Apr 29, 2009 5:09 AM
Sorry for the kiddy aliases.. Query is not written by me.. -
Simple Select query but not arriving at results!
Hello All,
I have a table with primary key (antrag_nr, beladeflag, stempel)
Desc test88
Name Null? Type
ANTRAG_NR NOT NULL NUMBER
A_PROZESS NUMBER
STEMPEL NOT NULL DATE
BELADEFLAG NOT NULL VARCHAR2(1)
desc test99
Name Null? Type
ANTRAG_NR NOT NULL NUMBER
A_PROZESS NUMBER
STEMPEL NOT NULL DATE
BELADEFLAG NOT NULL VARCHAR2(1)
select * from test99;
ANTRAG_NR A_PROZESS STEMPEL B
2 4 05-JAN-05 m
1 6 07-JAN-05 m
1 7 08-JAN-05 m
1 8 09-JAN-05 m
2 5 06-JAN-05 m
select * from test88;
ANTRAG_NR A_PROZESS STEMPEL B
1 1 01-JAN-05 m
1 2 02-JAN-05 m
1 2 03-JAN-05 m
1 3 04-JAN-05 m
2 1 01-JAN-05 m
2 2 02-JAN-05 m
2 3 04-JAN-05 m
1 4 05-JAN-05 m
1 5 06-JAN-05 m
1 6 07-JAN-05 m
2 4 05-JAN-05 m
ANTRAG_NR A_PROZESS STEMPEL B
1 7 08-JAN-05 m
My query:
insert into test88
(select a.antrag_nr, a.a_prozess, a.stempel, a.beladeflag from test88 a, test99 b
where
a.antrag_nr = b.antrag_nr
and
a.a_prozess not in (select a_prozess from test99 where antrag_nr = a.antrag_nr)
and
a.stempel = ( select max(stempel) from test88));
what the query does is:
selects the highest value for the entire stempel column in table test88 and checks the condition a.antrag_nr = b.antrag_nr &a.a_prozess not in (select a_prozess from test99 where antrag_nr = a.antrag_nr)
but what I would like to have is
that it should check the max(stempel) for each antrag_nr in test88 & then insert.
For example when antrag_nr = 1 and then the max (stempel) in table test 88 => 08-jan-2005
Then it should check with the antrag_nr =2
and then max(stempel) in the table test88 => 05-JAN-05 and then insert the table test88 from the source table test99 & so on
according to my query it checks the highest values of stempel column 08-jan-2005 where antrag_nr=1
but it doesnt check for antrag_nr = 2 at all.
How can I arrive at such a result, Can anyone throw some insight..
Thanks in advance,
Karthik krishna.
-- Thanks to splazm for answering my previous post!Hello All,
I have a table with primary key (antrag_nr, beladeflag, stempel)
Desc test88
Name Null? Type
ANTRAG_NR NOT NULL NUMBER
A_PROZESS NUMBER
STEMPEL NOT NULL DATE
BELADEFLAG NOT NULL VARCHAR2(1)
desc test99
Name Null? Type
ANTRAG_NR NOT NULL NUMBER
A_PROZESS NUMBER
STEMPEL NOT NULL DATE
BELADEFLAG NOT NULL VARCHAR2(1)
select * from test99;
ANTRAG_NR A_PROZESS STEMPEL B
2 4 05-JAN-05 m
1 6 07-JAN-05 m
1 7 08-JAN-05 m
1 8 09-JAN-05 m
2 5 06-JAN-05 m
select * from test88;
ANTRAG_NR A_PROZESS STEMPEL B
1 1 01-JAN-05 m
1 2 02-JAN-05 m
1 2 03-JAN-05 m
1 3 04-JAN-05 m
2 1 01-JAN-05 m
2 2 02-JAN-05 m
2 3 04-JAN-05 m
1 4 05-JAN-05 m
1 5 06-JAN-05 m
1 6 07-JAN-05 m
2 4 05-JAN-05 m
ANTRAG_NR A_PROZESS STEMPEL B
1 7 08-JAN-05 m
My query:
insert into test88
(select a.antrag_nr, a.a_prozess, a.stempel, a.beladeflag from test88 a, test99 b
where
a.antrag_nr = b.antrag_nr
and
a.a_prozess not in (select a_prozess from test99 where antrag_nr = a.antrag_nr)
and
a.stempel = ( select max(stempel) from test88));
what the query does is:
selects the highest value for the entire stempel column in table test88 and checks the condition a.antrag_nr = b.antrag_nr &a.a_prozess not in (select a_prozess from test99 where antrag_nr = a.antrag_nr)
but what I would like to have is
that it should check the max(stempel) for each antrag_nr in test88 & then insert.
For example when antrag_nr = 1 and then the max (stempel) in table test 88 => 08-jan-2005
Then it should check with the antrag_nr =2
and then max(stempel) in the table test88 => 05-JAN-05 and then insert the table test88 from the source table test99 & so on
according to my query it checks the highest values of stempel column 08-jan-2005 where antrag_nr=1
but it doesnt check for antrag_nr = 2 at all.
How can I arrive at such a result, Can anyone throw some insight..
Thanks in advance,
Karthik krishna.
-- Thanks to splazm for answering my previous post! -
Simple select query - Row ordering issue
Hi Guys,
I want to ask that row chaining and row migration is applicable for Global Temporary Table as well?
Or is it something related only to Physical DB tables?
I have requirement as -
DB Table --> populate GTT_First(process on this) --> Populate GTT_Second.
I want to insert rows in GTT_Second in particular order.
So which approach will assure this, or which is better approach?
To have order by while selecting data from DB Table and inserting in GTT_First OR
To have order by while inserting data from GTT_First into GTT_Second?
Will row chaining or row migration play any role here, given that all tables have 85 columns.
Thanks in advance!Avi4Ora wrote:
We face some problem, here we are not using rownum as you have used for demo. We use input date, a date field.some problem? what problem?
rownum is only used to fill the tables up with some data....
And each row in our case has 80 columns.so?
As i couldnt see the reason for this to happen, I could relate this behaviour to some extent with Row chaining and row migration.What problem are you facing, and why do you think it has to do with row chaining or row migration (doesn't make sense to me)
Here an example with dates
SQL> create global temporary table gtt_one
2 (str varchar2(10)
3 ,dt date
4 )
5 /
Table created.
SQL>
SQL> create global temporary table gtt_two
2 (id number
3 ,str varchar2(10))
4 /
Table created.
SQL>
SQL> create sequence seq
2 /
Sequence created.
SQL> insert into gtt_one
2 select 'a'||rownum
3 , sysdate + rownum
4 from all_objects
5 where rownum <= 10
6 /
10 rows created.
SQL>
SQL>
SQL>
SQL> insert into gtt_two
2 select seq.nextval
3 , str
4 from (select str
5 from gtt_one
6 order by dt desc
7 )
8 /
10 rows created.
SQL>
SQL> select *
2 from gtt_two
3 /
ID STR
1 a10
2 a9
3 a8
4 a7
5 a6
6 a5
7 a4
8 a3
9 a2
10 a1
10 rows selected. -
Hi Guys,
I have the following select statement…
SELECT *
FROM (SELECT '111', '222', '333' FROM dual)
Output
‘111’ ‘222’ ‘333’
1 111 222 333
But the output I was looking for was,
my_col
1 111
2 222
3 333
Can someone let me know how to achieve this?
Many Thanks…
NapsterSELECT rownum,
column_value
FROM
(SELECT '111' col1, '222' col2, '333' col3 FROM dual
) t,
TABLE(sys.odcivarchar2list(t.col1,t.col2,t.col3))Ravi Kumar
Maybe you are looking for
-
Unable to create volume - error message when exporting
Hello - relatively new Mac and iphoto user here. I'm trying to export photos from iphoto to a 2 GB thumb drive. I keep getting the error message "unable to create volume" when I try to move anything but very small batches of photos over. What's going
-
I have put password protection on a parent file (in my computer). I have made copies of the file to CD. The problem is that the file is protected as it should be in my computer but the CD copies will not accept password protection. I put in the passw
-
How do i talk to a sales rep about skype for busin...
Can I phone someone?
-
Log Archive Failed via dbacockpit
Hi, I've scheduled Oracle db log archive via dbacockpit. It failed at 1am, but it completed successfully later at 1pm as scheduled. So far, had 2 such occurences. Any where to diagnose the intermittent error ? Please enlighten. TIA ! 05.05.2009 0
-
What was the purpose in removing the visibilty of cropmarks?
1). What was the purpose in removing the visibilty of cropmarks? 2). Why, when I go to create a jpeg using 'Save for web & devices', are my cropmarks ignored? 3). How is this new pop-up slider bar for gradients, better? It is absolutely unwieldy, and