Filter the query results
Hi allI am trying to achieve the following:
I do a simple select * from a table that returns the results as the below:
ACCT_ID SURCHARGE_CD SURCHARGE SURCHARGE_DATE TXCTN_ID
1800375 993 3.75 01-MAR-13 939233
1800376 998 254.01 17-MAY-13 654165
1800381 875 142.10 24-MAY-13 324322
1800384 521 2451.10 13-MAY-13 511464
1800375 993 3.75 17-MAY-13 939233
1800387 512 514.10 25-MAY-13 651651
As you can see in the results, with ACCT_ID = 1800375 line is repeated twice even though it has a different date in supplement.How do these lines that have the same acct_id and even txctn_id to appear only once while retaining all other results of tact.
In online research, I learned that oracle FIRST_VALUE will be useful for something like that.
I'm still figuring out how to use FIRST_VALUE here and also thought after the issue here for additional guidance
Thank you
Shravan
So if you've had repeating records for ACCT_ID 1800376 and TXCN_ID 654165 would have liked a single record or want you than all the records?
For a single record, my code above will do the trick, otherwise change the where clause to one of the following:
where rn = 1 or acct_id <> '1800375';
or
where rn = 1 or not (acct_id = '1800375' and txctn_id = '939233');
Published by: Sentinel on 31 May 2013 14:32
Tags: Database
Similar Questions
-
How to get SQL Developer 4.1 to display the query result?
SQL DEV 4.0.3.16.84 execution of a SELECT statement is stored in a .sql file causes the window of the query result of pop-up indicating the result of a SELECT statement. SQL DEV 4.1 is not to do so.
Oops on my part; my SQL formatting has been the root cause. I got used to insert split without any character of comment lines in front of them. For example:
==================================================
Select funny business;
The foregoing indicates the behavior described.
--==================================================
Select funny business;
With the dash double comment shows, the SQL works very well.
This is different than previous versions of SQL Developer, but is probably better functionality. I'll try to mark it as answered, but anyone with the admin should certainly do so if I can't.
-
Need help to understand the query result
Hi gurus
I was reading one of the question here in this forum and its link is below:
I had some confusion related to this code and don't understand the logic of the out put, see query below:
Query
with sub_services as
(
Select su_seq 12323, 'HLR1' so_id, 1 seq Union double all the
Select su_seq 12323, "HLR2' so_id, seq 2 Union double all the
Select su_seq 12323, "A09" so_id, seq 3 of all the double union
Select su_seq 12333, "MO1" so_id, seq 4 Union double all the
Select su_seq 12333, "MO2' so_id, seq 5 Union double all the
Select su_seq 12333, "A09" so_id, 6 seq in union double all the
Select su_seq 12333, 'M0CR' so_id, seq 7 Union double all the
Select su_seq 12999, "LOL1' so_id, seq 8 Union double all the
Select su_seq 12999, "LOL2' so_id, seq 9 double
)
Select *.
of sub_services b
where exists (select 1 from sub_services
where su_seq = b.su_seq
and so_id = 'A09.
)
order by 2;
The query result
12323 A09 3
12333 6 A09
12323 HLR1 1
12323 HLR2 2
12333 M0CR 7
12333 4 MO1
12333 5 MO2
According to my understanding, the above query should return records in red only because of her is below command
It exists (select 1 from sub_services
where su_seq = b.su_seq
and so_id = 'A09.
but don't know why he's back 7 files, can someone help me understand the result...
It is query is functionally identical to the PL/SQL block, but much more effective.
declare
number of l_res;
Start
for line (select *)
sub_services) loop
Start
Select 1 from l_res
of sub_services
where su_seq = row.su_seq and
so_id = "A09" and
rownum = 1;
Essentially every row in the outer query are tested against him exists query. Given the correlation between two requests is based only on su_seq each line with a su_seq value returned by him is returned in the output.
Another way to think he uses instead a join condition. This query is equivalent to the query to exist
Select the main
of main sub_services
Join select (separate su_seq
of sub_services
where so_id = "A09") cond
We main.su_seq = cond.su_seq;
John
-
new to 4.02, no grid or column names in the query results
It is a bit strange, I have SQL Developer 4.02 just installed, and I don't see grid or column names in the query results. Don't see anything useful in tools > Preferences, what don't get me?
The worksheet gives you a couple of different ways to run a query...
1. instruction execute sheet icon toolbar (large green arrow, or Ctrl + Enter).
This produces a results tab of the query with the data displayed in a grid.
2. worksheet icon toolbar Execute the Script (the small tip of the green arrow on lined paper, or F5).
This produces a tab out of the Script with the data displayed on the printer.
If execution of the statement to Execute the Script, using some SQL * most orders will remove the column headers:
1. set the position
2. set the pagesize 0 (or 1 or 2).
Pagesize and linesize default is - 1. By default, the spreadsheet is free for formatting output script as he wishes. If you have not changed these settings in the spreadsheet, then see if you point to a startup script in Tools > Preferences > Database > name of the connection startup script file
Kind regards
Gary
SQL DeveloperTeam
-
The query results: extract all lines?
I was looking for a feature that will allow me to choose to return "all records" in the query results window. The current behavior is fetching 50 files at a time (for example fetch 50 records when you scroll the results = s-l-o-w). What I would do, that is 'Recover all lines' and then use for the scroll bar to scroll "smoothly" to the last record. For example, the 8.0.6 Query Builder version has this feature and SQL Developer 3.0, if I right click on the results. I choose 'Count lines... ". ", looks like it would be a perfect place to put an option"retrieve all rows.If your application is to be able to quickly reach the last record in a query you can press Ctrl + Page Down (with emphasis in the grid of results) and you will automatically position your view to the last record in the query automatically go get all the results in the process.
You have no need to do anything with the mouse scroll is actually the fastest way to reach the desired line.
-
Hi Experts,
I have a DB table has columns of more than 50.
I question this table, it should only return one line at any time. as sqldeveloper below image.
here, I need to build block pl/sql-query, Discover the column in the table as a key and query result as values.
Eg: Key - Value
TASK_EVENT_ID - 1765
EVENT_TYPE - ASR_UPDATE
... etc until all of the columns in my table.
Experts please comment on that point, appreciate your help on this.
Thank you
-Vincent.
Here is an approach using DBMS_SQL to iterate over the columns of key / value to assign... (Little code snipped for brevity)
create or replace procedure (task_expired)
v_store_id in full,
v_task_action_id in full,
v_job_id in full
)
as
-[SNIP code...]
v_sql VARCHAR2 (4000): = ' select * from my_table where PK = 123'; -Your SQL here!
v_v_val VARCHAR2 (4000);
v_n_val NUMBER;
v_d_val DATE;
v_ret NUMBER;
c NUMBER;
d NUMBER;
col_cnt INTEGER.
f BOOLEAN;
rec_tab DBMS_SQL. DESC_TAB;
col_num NUMBER;
vAsString VARCHAR2 (4000);
BEGIN
-[SNIP code...]
Message_properties. CORRELATION: = "EDF_EVENT";
MSG: = SYS. AQ$ _JMS_BYTES_MESSAGE. Construct();
Msg.set_string_property ('queueName', ' shipping/csi_cth');
Msg.set_string_property ('MODE', 'CR8');
c: = DBMS_SQL. OPEN_CURSOR;
DBMS_SQL. PARSE (c, v_sql, DBMS_SQL. NATIVE);
d: = DBMS_SQL. Execute (c);
DBMS_SQL. DESCRIBE_COLUMNS (c, col_cnt, rec_tab);
1.col_cnt J
LOOP
CASE rec_tab (j) .col_type
WHEN 2 THEN
DBMS_SQL. DEFINE_COLUMN (c, j, v_n_val); -Number
WHEN 12 CAN
DBMS_SQL. DEFINE_COLUMN (c, j, v_d_val); -Date
ON THE OTHER
DBMS_SQL. DEFINE_COLUMN (c, j, v_v_val, 2000); -Else treat as varchar2
END CASE;
END LOOP;
LOOP
v_ret: = DBMS_SQL. FETCH_ROWS (c);
WHEN OUTPUT v_ret = 0;
1.col_cnt J
LOOP
-Fetch each column to the correct data type based on coltype
CASE rec_tab (j) .col_type
WHEN 2 THEN
DBMS_SQL. COLUMN_VALUE (c, j, v_n_val);
vAsString: = to_char (v_n_val);
WHEN 12 CAN
DBMS_SQL. COLUMN_VALUE (c, j, v_d_val);
vAsString: = to_char (v_d_val, ' DD/MM/YYYY HH24:MI:SS');
ON THE OTHER
DBMS_SQL. COLUMN_VALUE (c, j, v_v_val);
vAsString: = v_v_val;
END CASE;
Msg.set_string_property (rec_tab (j) .col_name, vAsString);
END LOOP;
END LOOP;
DBMS_SQL. CLOSE_CURSOR (c);
DBMS_AQ. ENQUEUE (queue_name-online 'cbus.aqjms_common',
Enqueue_options => Enqueue_options,
Message_properties => Message_properties,
Payload-online msg,
Msgid => Message_handle);
dbms_output.put_line ('00 Msgid =' |) Message_handle);
dbms_output.put_line('===Done=');
-[SNIP code...]
END;
/
-
Unable to produce the query results
Hi all
Hello. I'm aunable write a query that can produce reuls froe below question. An account can have several part relationship.
Here is the data for the x table
PartyID - AcctNo - indicator - RoleCode
1111 ----- 123 ------ Y ------- 110
1112 ------- 123 ------ N --------- 120
1113 ------ 123 ------ N -------- 130
1114 ------- 124 ----- N -------- 100
1115 -------- 124 ------- N --------- 110
1116 --------- 124 ---- N --------- 100
1115 -------- 125 Y ------- 100
1116 ------- 125 N ------ 110
1117 ------- 126 Y ----- 100
Query should return these AcctNo is not any indicator = 'Y' and RoleCode did not have 100. In this case the results should be
AcctNo
123
124
Thanks in advance
Don
Hello
885137 wrote:
Hi, Frank, here is creation and insertion of table scripts. ...
Thank you.
So what's the problem with the query I posted in response #1? (You must use the correct name of the table, of course). Specify where he makes incorrect results and explain why these results are false.
-
3.1EA1: does not display the query results
The results of any query I have run in 3.1EA1 do not show in the results of the query tab. When I run sqldeveloper.exe from the command prompt, there are no errors. Sqldeveloper 3.0 is very good.
Oracle database: 10.2.0.4.0
Java version: 1.6.0_26
Operating system: Windows XP sp3 ProdThis seems to be related to read/write to the history of SQL.
You can see the question after a
delete your SQL history
or if you do not want to keep your history - zip C:\Documents and Settings\\Application Data\SQL Developer\SqlHistory folder before you delete it. Let me know.
-Rambeau -
The query results display help
Hello
I'm having a problem with the display of the results of my query result.
When I cfloop on the results... the part number was released on 3 different ranks... when I want it on a single line, querying multiple tables... and you cannot use the option to group with the cfloop
This is the query
<cfquery datasource="wire" name="testss3"> SELECT a.part AS pparts, a.wireid AS wireidA, a.strnds, a.wt, a.sps1, a.sps2, a.sps3, a.tin, b.slookup AS lid, b.wireid AS wireidB, b.reelid AS reelnmbr, d.reelid AS rlid, d.rname, d.rsku, d.rcost, e.plookupid, e.prctid, e.wireid AS wireidE, f.prctid, f.percentage, g.rsize FROM Mpart a, slookupt b, reeltbl d, prctlup e, prct f, spoolsize g WHERE a.wireid = b.wireid AND e.prctid = f.prctid AND a.wireid = e.wireid AND b.reelid = d.reelid AND g.spoolSizeid = b.spoolSizeid </cfquery> <table border="1" border="1"> <tr> <td></td> <td bgcolor="#CCCCCC" class="style23">Part No. </td> <td bgcolor="#CCCCCC" class="style23">Wt./Mft.</td> <td bgcolor="#CCCCCC" class="style23" colspan="3">Spool Sizes (Cost/ft.)</td> <td> </td> </tr> <cfloop query="testss3"><cfoutput> <tr> <td></td> <td align="left" class="style23">#pparts# @</td> <td align="left" class="style23">#wt#</td> <td align="left" class="style23"> #rsize# #rcost# #wireidA#</cfoutput></cfloop></td> <td> </td> </tr> </table>
Reference No.. M/m/Mft. Sizes in stock waiting (cost/pi) ground 10 @. 31.43 1000 2.8000 1 ground 10 @. 31.43 2500 5.9800 1 ground 10 @. 31.43 5000 7.3000 1 400A 31.43 1000 2,8000 2 400A 31.43 2500 5,9800 2 400A 31.43 5000 7,3000 2 8 ground @. 50 500 2,8000 4 8 ground @. 50 1000 5,9800 4 8 ground @. 50 5000 7,3000 4 8 T @. 50 500 2,8000 5 8 T @. 50 1000 5,9800 5 8 T @. 50 5000 7,3000 5 the first line should read 10 ground | 31.43. 1000 | 2500 | 5000
rank 10 t | 31.43. 1000 | 2500 | 5000
Any help would be appreciated!
Thank you!
You must nest CFOUTPUT tags to use the way you want. One
outside the loop to get the 'line after line only' and an inner to get all the
subdetails in this line:
roughly
-
Keep the query results set all paging
I have a query back thouands of records. For do not impact performance display and paging, which would be the best way without use of query caching? Is it possible to keep the first recordset query time she and her use in Exchange?
Load balancing definitely throws a wrinkle by using shared memory. There are ways to address these problems, but they all come with the pros and cons, just basically choose what pros like you and what the disadvantages that you can live with.
I.E. you can use sessions. So when a user first access your application, all future queries are sent to the same server that processes requests for first. But this means that if this server will see, all users currently glued to it are s.o.l.
I saw other people using databases for the persistent memory. But then, you have the LAG involved in obtaining data from the database on every request, although it should be easy fast queries to do this. Side pro, it does not matter which server processes the request.
It would be different then just re - run the original query every time, but rather store the original query results into a temporary table space so that any complexity which may exist should not be repeated.
-
cfdocument header does not support the query results
IN CF7, I was able to use the results of the query in the header of the document.
Now in CF8 when I try to use cfoutput content in the header either get an error (using the query variable only be #var #) or if I use the syntax #queryname.variablename # I get the first saves the information populating the header for the whole Recordset.
Example:
< cfdocument = bookmark 'pdf' format = "yes" fontembed = "no" >
< cfoutput query = "someQuery" >
< cfdocumentsection name = "#someQuery.someVar #" >
< cfdocumentitem type = "header" >
#someQuery.somevar # <-does not work!
< / cfdocumentitem >
< cfdocumentitem type = "footer" >
#cfdocument.currentpagenumber # the page <-this works
< / cfdocumentitem >
#content #.
< / cfdocumentsection >
< / cfoutput >
< / cfdocument >Hello Eric,
I tried your example with a simple query. I'm using CF8 server with "ColdFusion 8: CFDocument cumulative patch '. The last version released late January. I have no other patch on the test server. But I know it works with CHF2 or CHF3. See my attached code and try with the Cum Hot Fix CFDoc.You can be again on the forums and maybe on our site:
Here's the user forums with no regular follow-up by guaranteed Adobe. This has been the same since the days of Allaire.ColdFusion 8 hotfixes are listed in the technical note here.
Bugs can be submitted to the feature request/Bug Report Form
The Support Page of ColdFusion to the main address is www.adobe.com/support/coldfusion/. Note There are links to programs, patches, information about support plans, etc.
-
Hello
1. when I want to export the result of the query I have error ORA-00936 (missing expression). Any solution?
2. I can copy/past the result, but no title for the columns (name ot the column heading). How to make?
Thanks before.1. THE query? Sorry, I'm not psychic, but actually write to me.
2 CTRL-SHIFT-CK.
-
attempts to display the query results in 2 columns
I'm trying to change someone elses existing of code to display the results of a query in 2 columns on a web page.
The result of the existing code can be seen
here
Here is the code I am trying to change
< table width = "95%" border = "0" align = "center" cellpadding = "4" cellspacing = "2" >
< cfoutput query = "News" StartRowOptional = "" #StartRow_News # "LignesMax =" #MaxRows_News #">"
< tr align = "center" class = "TEXTnormal" >
< class nowrap = "style1 TEXTnormal" td >... < table >
< /tr >
< class tr = "TEXTnormal" >
< td > < table width = "100%" border = "0" cellpadding = "0" cellspacing = "0" class = "TEXTnormal" >
< b >
< td > < cfif News.ImageNameThumb gt 0 >
"< a href =" news_view.cfm? recordID = #News.ID #"> < img src =" "uploadedimages / #News.ImageNameThumb #" alt = "#News.ImageCaption #" hspace = "8" hspace = "0" border = "0" align = "left" > < / has >
< cfelse >
< / cfif > < table >
< td > < a href = "" news_view.cfm? recordID = #News.ID # "class ="TEXThighlight"> #News.Title # < /a > - #News.Day #. #News.Month #. #News.Year # < br >"
#News.Summary # < table >
< /tr >
< / table > < table >
< /tr >
< / cfoutput >
< /table >
I changed the above code to
< table width = "95%" border = "0" align = "center" cellpadding = "4" cellspacing = "2" >
< cfset LoopEndRow = CEILING(#EndRow_News#/2) >
< cfloop
index = "row".
from = "#StartRow_News #
to = "#LoopEndRow #
step = "1" >
< class tr = "TEXTnormal" >
< cfset breaker = 0 >
< cfloop
index = "column".
from = '0 '.
to = '2 '.
step = "1" >
< cfoutput query = "News1" StartRowOptional = "" #StartRow_News # "LignesMax =" #MaxRows_News #">"
< td width = "50%" >
< table width = "100%" border = "0" cellpadding = "0" cellspacing = "0" class = "TEXTnormal" >
< b >
< td > < cfif News1.ImageNameThumb gt 0 >
"< a href =" news_view.cfm? recordID = #News1.ID #"> < img src =" "uploadedimages / #News1.ImageNameThumb #" alt = "#News1.ImageCaption #" hspace = "8" hspace = "0" border = "0" align = "left" > < / has >
< cfelse >
< / cfif > < table >
< td > < a href = "" news_view.cfm? recordID = #News1.ID # "class ="TEXThighlight"> #News1.Title # < /a > - #News1.Day #. #News1.Month #. #News1.Year # < br >"
#News1.Summary # < table >
< /tr >
< / table > < table >
< cfset breaker breaker + 1 = >
< cfif breaker EQUAL 2 >
< cfbreak >
< / cfif >
< / cfoutput >
< / cfloop >
< /tr >
< / cfloop >
< /table >
The results of this code change can be see here
as you can see what I did gives the number of columns (2)
and the correct number of lines for the amount of data (3)
However, each line shows the first 2 pieces of data returned by the query
Can I change the output query so that it returns the data SET by the amount of data already out items?
If so, how?
#data #.
closing tags -
Problem with the query result set * STILL a QUESTION *.
Summary
What I am tring to do is to return output to the data points that currently have no values.
* Here it is sample data for reasons explaining my question (my data set is MUCH bigger)
xTable
Desired outputYEAR PEOPLE ITEMS TYPE_NUMBER TYPE_DESC CLASS 2010 1 1 REG 1 2010 2 3 2 MISC 1 2010 5 4 3 WEEK 1 2010 1 REG 2 2010 2 MISC 2 2010 3 WEEK 2 2009 1 1 REG 1 2009 2 3 2 MISC 1 2009 5 4 3 WEEK 1 2009 1 REG 2 2009 2 MISC 2 2009 3 WEEK 2 ... (there's over 100 other unique CLASS values)
Oracle: 10.2 GYR PEOPLE ITEMS TOTAL PEOPLE TOTAL_ITEMS 2010 - - - - -- (Class 2 result set) /* FYI, If i wanted the class 1 result set it would look like this: YR PEOPLE ITEMS TOTAL PEOPLE TOTAL_ITEMS 2010 8 7 16 14 -- (Class 1 result set)*/
Currently, the query above will return no rows.select 2010 as yr, nvl(f.people,'-') as people nvl(f.items,'-') as items nvl(to_char(sum(f.people)),'-') as total_people, nvl(to_char(sum(f.items)),'-') as total_items, from Xtable, (2010 as yr, sum(items)as items sum(people) as people from xTable where person_id = 99999 and type_number in (1,2,3) and year = 2010 and class = 2 or class = 1 ) f where person_id = 99999 and type_number in (1,2,3) and yr = f.yr and (year <= 2010 or year = 2010) and (class = 2 or class = 1) group by f.people, f.items
Published by: user652714 on February 2, 2010 13:04How about this?
SQL> WITH xTable AS 2 ( 3 SELECT 2010 AS YEAR, 1 AS PEOPLE, 0 AS ITEMS, 1 AS TYPE_NUMBER, 'REG' AS TYPE_DESC, 1 AS CLASS FROM DUAL UNION ALL 4 SELECT 2010 AS YEAR, 2 AS PEOPLE, 3 AS ITEMS, 2 AS TYPE_NUMBER, 'MISC' AS TYPE_DESC, 1 AS CLASS FROM DUAL UNION ALL 5 SELECT 2010 AS YEAR, 5 AS PEOPLE, 4 AS ITEMS, 3 AS TYPE_NUMBER, 'WEEK' AS TYPE_DESC, 1 AS CLASS FROM DUAL UNION ALL 6 SELECT 2010 AS YEAR, NULL AS PEOPLE, NULL AS ITEMS, 1 AS TYPE_NUMBER, 'REG' AS TYPE_DESC, 2 AS CLASS FROM DUAL UNION ALL 7 SELECT 2010 AS YEAR, NULL AS PEOPLE, NULL AS ITEMS, 2 AS TYPE_NUMBER, 'MISC' AS TYPE_DESC, 2 AS CLASS FROM DUAL UNION ALL 8 SELECT 2010 AS YEAR, NULL AS PEOPLE, NULL AS ITEMS, 3 AS TYPE_NUMBER, 'WEEK' AS TYPE_DESC, 2 AS CLASS FROM DUAL 9 ) 10 -- END SAMPLE DATA 11 SELECT YEAR 12 , NVL(TO_CHAR(SUM(PEOPLE)),'-') AS PEOPLE 13 , NVL(TO_CHAR(SUM(ITEMS)),'-') AS ITEMS 14 , CLASS 15 FROM xTable 16 WHERE CLASS IN (1,2) 17 AND YEAR = 2010 18 GROUP BY YEAR 19 , CLASS 20 ORDER BY CLASS DESC; YEAR PEOPLE ITEMS CLASS -------------------- ------ ----- ----- 2010 - - 2 2010 8 7 1
-
I want to the output of the random results of a query and exclude the results to appear twice. What would be a good way to do this?
With the help of lists with ListFind and delete list points once they are used?
Tables?
It sounds like this might work
http://weblog.vb-tech.com/Nick/Archive/2005/03/25/608.aspx
Maybe you are looking for
-
Satellite A200: How to connect a parallel port printer?
Probably a very stupid question, but I would like to connect laptop series A200 on a parallel port printer that does not have a USB port... What is the best option?
-
Satellite Satellite P10 554 - memory and WLAN
I want to upgrade the memory of my laptop from 512 to 1024 MB. Should what kind of RAM I buy?My other question on the WLAN option points. I want to install a WIFI chip. Does anyone know the identifier for my laptop SP10? Thanks in advance! Roman:
-
Installed a new game but with some problems.
I have a compaq with the 945GM card nc6320. I just picked up and installed 18 wheels of steel: extreme trucker and it seems to work expect that when I get to the first page, every thing in the back is blue, but all the rest is fine. So I start a new
-
When you try to download Microsoft Silverlight get error "this action requires a rise."
I am trying to download Microsoft silverlight to my computer which runs on Windows Vista. I get the message that "this action requires a rise." I am the only user and administrator. I don't know how to solve this problem. Help, please.
-
Windows cannot repair this computer automatically
Original title "Help? Laptop used to start.My laptop was working fine and then I went to turn it on and it keeps trying to windows startup repair and then says "windows cannot repair this computer automatically" if I click on problem it details reads