UNIONS in subqueries

Hello!

I have a problem using UNIONs inside subqueries. I have simplified my
query to make it more readable. The question is about the right syntax.


1.
This works fine /UNION/

(SELECT f15.Form15SampleTube1RnaBarcode AS ObjectId,
f15.Form15PatientID AS PtId FROM form15 f15
WHERE f15.Form15SampleTube1RnaBarcode IN ('01D2V','01DH6'))

UNION

(SELECT f15.Form15SampleTube6RnaBarcode AS ObjectId,
f15.Form15PatientID AS PtId FROM form15 f15
WHERE f15.Form15SampleTube6RnaBarcode IN ('01D2V','01DH6'))


2.
This works fine too /subquery/:

SELECT ObjectId FROM

(SELECT f15.Form15SampleTube1RnaBarcode AS ObjectId,
f15.Form15PatientID AS PtId FROM form15 f15
WHERE f15.Form15SampleTube1RnaBarcode IN ('01D2V','01DH6')) AS
SubTable1;


3.
But when I run 1&2 mixed I get in troubles. This is a query draft,
can't come up with the right syntax:


SELECT ObjectId FROM


(SELECT f15.Form15SampleTube1RnaBarcode AS ObjectId,
f15.Form15PatientID AS PtId FROM form15 f15
WHERE f15.Form15SampleTube1RnaBarcode IN ('01D2V','01DH6'))

UNION

(SELECT f15.Form15SampleTube6RnaBarcode AS ObjectId,
f15.Form15PatientID AS PtId FROM form15 f15
WHERE f15.Form15SampleTube6RnaBarcode IN ('01D2V','01DH6'))


I tried many combinations and got various syntax errors. Any ideas?


Thanks,
Luke
Luke [ Mi, 24 Mai 2006 00:26 ] [ ID #1326006 ]

Re: UNIONS in subqueries

Luke wrote:
> SELECT ObjectId FROM
>
>
> (SELECT f15.Form15SampleTube1RnaBarcode AS ObjectId,
> f15.Form15PatientID AS PtId FROM form15 f15
> WHERE f15.Form15SampleTube1RnaBarcode IN ('01D2V','01DH6'))
>
> UNION
>
> (SELECT f15.Form15SampleTube6RnaBarcode AS ObjectId,
> f15.Form15PatientID AS PtId FROM form15 f15
> WHERE f15.Form15SampleTube6RnaBarcode IN ('01D2V','01DH6'))

Try this:

SELECT FROM
(
(SELECT ...)
UNION
(SELECT ...)
)

That is, put another pair of parens around the whole UNION query.

Regards,
Bill K.
Bill Karwin [ Mi, 24 Mai 2006 22:55 ] [ ID #1327697 ]

Re: UNIONS in subqueries

Hi, thanks. I think I tried same as yours /no access now/ and ended up
with syntax errors.
But this solution works (got it from a guy from mysql.lists):

SELECT FROM

(SELECT FROM...

UNION

SELECT FROM... ) as abc

Regards,
Luke
Luke [ Do, 25 Mai 2006 03:31 ] [ ID #1329345 ]
Datenbanken » mailing.database.mysql » UNIONS in subqueries

Vorheriges Thema: MySQL ConnectorJ and remote machines
Nächstes Thema: Looking for a bit of hacking help