MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » February 2013

RE: how to retrieve records and make sure they arrive in RRN sequence



fixed

A memo is either in the live file or the history file. I am ORDERing be MEMO# then RRN, so dup RRN's between files shouldn't be an issue.

What is the comment about blinders? I would prefer to NOT use RRN. Iseries users normally do a SELECT and the rows appear in arrival sequence.

But for some reason when UNION is introduced, the arrival sequence is lost. I am trying to get the arrival seq with a UNION - if I can do that without RRN that would be great!



-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of DeLong, Eric
Sent: Tuesday, February 12, 2013 5:11 PM
To: Midrange Systems Technical Discussion
Subject: RE: how to retrieve records and make sure they arrive in RRN sequence

You can order by any field name in the format. RRN is not valid within an order by, unless you incorporate RRN into your column select list.

create table qtemp/memotext as
(select a.*, rrn(a) as rownum from mdcmdct a
union
select b.*, rrn(b) as rownum from mdcmtx1 b

order by rownum ) with data;

Even then, as Vernon pointed out, you will very likely NOT get an ordered set that you expect. Each table has an RRN 1, so which of these should display first...

Honestly, I think you have RRN blinders on...

-Eric DeLong

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Stone, Joel
Sent: Tuesday, February 12, 2013 5:00 PM
To: Midrange Systems Technical Discussion
Subject: RE: how to retrieve records and make sure they arrive in RRN sequence

Thanks but I have no key - I want to ensure RRN.

I have tried to add ORDER BY RRN but it doesn't seem to like it. Is there a trick to get ORDER BY RRN to work? Must ORDER BY contain only fields in the record?


-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of DeLong, Eric
Sent: Tuesday, February 12, 2013 4:49 PM
To: Midrange Systems Technical Discussion
Subject: RE: how to retrieve records and make sure they arrive in RRN sequence

Specify an ORDER BY clause after the second statement in your UNION...

Arrival sequence means NOTHING in sql. Never count on it, even if it LOOKS like you're getting what you want. The only way to ensure an ordered result is to specify the ORDER BY clause.

-Eric DeLong

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Stone, Joel
Sent: Tuesday, February 12, 2013 4:33 PM
To: 'Midrange Systems Technical Discussion'
Subject: SQL: how to retrieve records and make sure they arrive in RRN sequence

Normally records seem to arrive in RRN sequence - if no other ORDER BY is stated.

However, when I use UNION to concat two SELECT results together, they are arriving in a random sequence.

How can I assure that the result set is in RRN seq?

However, I don't think I can include RRN in the SELECT because that field is NOT in the result table.

Thanks



create table qtemp/memotext as
(select * from mdcmdct
union
select * from mdcmtx1

) with data;

______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________





Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact