SQL - is it possible


 
Thread Tools Search this Thread
Top Forums Programming SQL - is it possible
# 1  
Old 03-07-2011
Question SQL - is it possible

I have a table with the following structure:

trxNo expiryDate remoteTrxNo
445455 2011-06-26 0
445455 2011-02-26 0
445999 2011-07-30 0
445999 2011-03-28 0

There are other columns that make the records unique but they are not relevant to my question, however, they are always in pairs.

I would like to update the remoteTrxNo in all the records in the table with the following logic:

If the expiryDate is the largest of the two possible values, write 'FAR' in the remotetrxNo column, when it is the smallest, write 'NEAR'.

Can this be done in a massive insert? Do I need to split the query in two to do the MAX once, and the MIN on the other update?

I've tried without success to write a query (or two) to accomplish this. I want to avoid writing code that will loop through a resultset one by one.

Any help would be appreciated.
# 2  
Old 03-07-2011
If you are using Oracle 10g or later, you can use analytic functions like rank, mix and max.
Code:
  1  select ename, sal, deptno
  2   , decode(min(sal)over(partition by deptno), sal, 'MIN')
  3   , decode(max(sal)over(partition by deptno), sal, 'MAX')
  4* from emp

ENAME             SAL     DEPTNO DEC DEC
---------- ---------- ---------- --- ---
CLARK            2450         10
KING             5000         10     MAX
MILLER           1300         10 MIN
JONES            2975         20
FORD             3000         20     MAX
ADAMS            1100         20
SMITH             800         20 MIN
SCOTT            3000         20     MAX
WARD             1250         30
TURNER           1500         30
ALLEN            1600         30
JAMES             950         30 MIN
BLAKE            2850         30     MAX
MARTIN           1250         30

14 rows selected.

# 3  
Old 03-08-2011
Thanks for the reply. Unfortunately, this is with Sybase, so I can't use those functions, nor cans I use PLSQL.
# 4  
Old 03-08-2011
Quote:
Originally Posted by praktikal
Thanks for the reply. Unfortunately, this is with Sybase, so I can't use those functions, nor cans I use PLSQL.

1) Google search
URL => sybase equivalent for oracle decode - Google Search

Answer => Case()

2) Google search
URL=>sybase olap functions - Google Search

Answer=> http://www.sybase.com/files/White_Papers/olap.pdf

Time spent: 2 minutes.
# 5  
Old 03-08-2011
Usefulness of googlng decode and olap: 0

Thanks for trying.

I am aware of the use of case. I was already using it I just dumbed down the example to attempt to prevent simplistic answers like the last one. FAIL!

Anyway, I solved my problem by using a temporary table so that sybase wasn't confused by the table aliases which was at the root of the initial problem.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Storing multiple sql queries output into variable by running sql command only once

Hi All, I want to run multiple sql queries and store the data in variable but i want to use sql command only once. Is there a way without running sql command twice and storing.Please advise. Eg : Select 'Query 1 output' from dual; Select 'Query 2 output' from dual; I want to... (3 Replies)
Discussion started by: Rokkesh
3 Replies

2. Shell Programming and Scripting

Run SQL thru shell script: how to get a new line when run sql query?

Hi, this's Pom. I'm quite a new one for shell script but I have to do sql on shell script to query some information from database. I found a concern to get a new line...When I run my script, it retrieves all data as wondering but it's shown in one line :( What should I do? I'm not sure that... (2 Replies)
Discussion started by: Kapom
2 Replies

3. Shell Programming and Scripting

sql plus

Hi, I'm trying to connect to the sql plus from my unix server(putty) I got this error message ksh: sqlplus: not found Then i tried to modify my .profile with the below syntax (as took from our forum) ORACLE_HOME ORACLE_SID PATH But it display the same kind of error Any... (2 Replies)
Discussion started by: thelakbe
2 Replies

4. UNIX for Advanced & Expert Users

Call parallel sql scripts from shell and return status when both sql are done

Hi Experts: I have a shell script that's kicked off by cron. Inside this shell script, I need to kick off two or more oracle sql scripts to process different groups of tables. And when both sql scripts are done, I will continue in the shell script to do other things like checking processing... (3 Replies)
Discussion started by: huasheng8
3 Replies

5. Shell Programming and Scripting

Execute multiple SQL scripts from single SQL Plus connection

Hi! I would like to do a single connection to sqlplus and execute some querys. Actually I do for every query one connection to database i.e echo 'select STATUS from v$instance; exit' > $SQL_FILE sqlplus user/pass@sid @$SQL_FILE > $SELECT_RESULT echo 'select VERSION from v$instance;... (6 Replies)
Discussion started by: guif
6 Replies

6. Shell Programming and Scripting

How to use sql data file in unix csv file as input to an sql query from shell

Hi , I used the below script to get the sql data into csv file using unix scripting. I m getting the output into an output file but the output file is not displayed in a separe columns . #!/bin/ksh export FILE_PATH=/maav/home/xyz/abc/ rm $FILE_PATH/sample.csv sqlplus -s... (2 Replies)
Discussion started by: Nareshp
2 Replies

7. UNIX for Dummies Questions & Answers

Execute PL/SQL function from Unix script (.sql file)

Hi guys, I am new on here, I have a function in oracle that returns a specific value: create or replace PACKAGE BODY "CTC_ASDGET_SCHED" AS FUNCTION FN_ASDSCHEDULE_GET RETURN VARCHAR2 AS BEGIN DECLARE ASDSchedule varchar2(6); ASDComplete... (1 Reply)
Discussion started by: reptile
1 Replies

8. Shell Programming and Scripting

unix variables from sql / pl/sql

How do I dynamically assign the below output to unix shell variables so I can build a menu in a shell script? Example: var1 = 1 var2= SYSTEM var3 = 2 var4= UNDOTBS1 and so on, then in the shell script I can use the variables to build a menu. set serveroutput on declare... (2 Replies)
Discussion started by: djehres
2 Replies

9. Shell Programming and Scripting

sql help

Hi all, I have a sql like this. select a, b from my_schema.my_table where a in ( 5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030 ); Now i am... (2 Replies)
Discussion started by: jakSun8
2 Replies

10. Shell Programming and Scripting

Calling SQL LDR and SQL plus scripts in a shell script

Hi- I am trying to achieve the following in a script so I can schedule it on a cron job. I am fairly new to the unix environment... I have written a shell script that reads a flat file and loads the data into an Oracle table (Table1) via SQLLDR. This Works fine. Then, I run a nested insert... (5 Replies)
Discussion started by: rajagavini
5 Replies
Login or Register to Ask a Question