Using a CTE....

With tbl as (select * from fileA UNION ALL select * from fileB)
Select count(*) from tbl

Or nested table...

Select count(*)
from (select * from fileA UNION ALL select * from fileB) as tbl


Charles Wilt
Software Engineer
CINTAS Corporation - IT 92B
513.701.1307
wiltc@xxxxxxxxxx


-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-
bounces@xxxxxxxxxxxx] On Behalf Of Bradley V. Stone
Sent: Thursday, March 13, 2008 4:17 PM
To: Midrange Systems Technical Discussion
Subject: RE: SQL Question - Merging files or result sets?

Yep, just did that.. oh well, I guess it's better that way anyhow.

Now, for the final question. I need to get a count of the records
selected.
:) Is there a trick if they select both files to get one value for the
count of the entire rs?

I normally just make another SQL statement like this:

eval SQLCount = 'SELECT COUNT(*) '
'FROM file ' +
%trim(SQLWhere)

But now with 2 files, could get tricky.

Bradley V. Stone
BVSTools - www.bvstools.com
eRPG SDK - www.erpgsdk.com

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx]On Behalf Of Wilt, Charles
Sent: Thursday, March 13, 2008 3:11 PM
To: Midrange Systems Technical Discussion
Subject: RE: SQL Question - Merging files or result sets?


Yep...

For a union, you have to have the same number and types of columns.

You're going to have to explicitly list the fields from the file
with the extra field, making sure to
leave the extra field out.

Charles Wilt
Software Engineer
CINTAS Corporation - IT 92B
513.701.1307

wiltc@xxxxxxxxxx


-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-
bounces@xxxxxxxxxxxx] On Behalf Of Bradley V. Stone
Sent: Thursday, March 13, 2008 4:08 PM
To: Midrange Systems Technical Discussion
Subject: RE: SQL Question - Merging files or result sets?

Ok, Darn. Almost worked. I found out the file in production
(fileB) does
have one extra field at the end.

Message ID . . . . . . : SQL0421 Severity . . . . . . . :
30
Message type . . . . . : Diagnostic
Date sent . . . . . . : 03/13/08 Time sent . . . . . . :
15:06:05

Message . . . . : Number of UNION operands not equal.
Cause . . . . . : The operands of a UNION or UNION ALL must have
the
same
number of columns.
Recovery . . . : Correct the SQL statement so that it has the same
number
of operands in each SELECT list.

Is this telling me it won't work because the files don't have the same
number of coumns?

For select I'm using select * and fetching into a DS defined
externally by
fileA.

Bradley V. Stone
BVSTools - www.bvstools.com
eRPG SDK - www.erpgsdk.com

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx]On Behalf Of Adam Glauser
Sent: Thursday, March 13, 2008 1:32 PM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: SQL Question - Merging files or result sets?


Bradley V. Stone wrote:
This isn't a join, it's two files with identical layouts, but
different
field names and different category of data. Otherwise the files
are
identical.

When a user does a search, they can search file A, file B, or
both. So I'd
like to try to write this dynamic enough so all I do is check the
search
flags they set and build my SQL appropriatly. Especially when
they search
both so it will "mesh" the data from the two files in the
result set.

I think that UNION will do the trick. Perhaps you could do
something like:

selectA = 'SELECT <the fields> FROM fileA WHERE <criteria>'
selectB = 'SELECT <the fields> FROM fileB WHERE <criteria>'
order = ' ORDER BY <ordering fields>'

if (search = both A and B)
query = selectA + ' UNION ' + selectB + order

elseif (search = A only)
query = selectA + order

else
query = selectB + order

Would something like that do what you're after?
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.




This e-mail transmission contains information that is intended to
be confidential and privileged. If you receive this e-mail and
you are not a named addressee you are hereby notified that you
are not authorized to read, print, retain, copy or disseminate
this communication without the consent of the sender and that
doing so is prohibited and may be unlawful. Please reply to the
message immediately by informing the sender that the message was
misdirected. After replying, please delete and otherwise erase
it and any attachments from your computer system. Your
assistance in correcting this error is appreciated.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.




This e-mail transmission contains information that is intended to be confidential and privileged. If you receive this e-mail and you are not a named addressee you are hereby notified that you are not authorized to read, print, retain, copy or disseminate this communication without the consent of the sender and that doing so is prohibited and may be unlawful. Please reply to the message immediately by informing the sender that the message was misdirected. After replying, please delete and otherwise erase it and any attachments from your computer system. Your assistance in correcting this error is appreciated.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.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 on our policy page. If you have questions about this, please contact [javascript protected email address].