Direct answer - it's you. Details below:
1. use double quotes in AS statement -  "Unavailable" instead of
'Unavailable'
2. use AS outside the brackets - (select ...) AS "Read-only", (select ...)
AS "Unavailable".
Example:
select db.pct_utilized,log.pct_utilized,(select count(*) as "READONLY"
from volumes where access='READONLY'),(select count(*) from volumes where
access='UNAVAILABLE') as "Unavailable" from db,log
Result:
PCT_UTILIZED     PCT_UTILIZED      Unnamed[3]     Unavailable
------------     ------------     -----------     -----------
Explanation:
You are getting columns named in subquery, later included in the main
query as Unnamed[3] and Unnamed[4]. In the example one is modified and
results get correctly titled

Zlatko Krastev
IT Consultant




Please respond to "ADSM: Dist Stor Manager" <[EMAIL PROTECTED]>
Sent by:        "ADSM: Dist Stor Manager" <[EMAIL PROTECTED]>
To:     [EMAIL PROTECTED]
cc:

Subject:        Select odd behaviour

(Apologies. Re-Send with correct subject line)

In addition to what I said below, the following statement generates a
return
code 3 from TSM;

select db.pct_utilized,log.pct_utilized,(select count(*) from volumes
where
access='READONLY'),(select count(*) from volumes where
access='UNAVAILABLE'),(select count(*) from volumes where
access='UNAVAILABLE') from db,log



but If I change the end very slightly to

select db.pct_utilized,log.pct_utilized,(select count(*) from volumes
where
access='READONLY'),(select count(*) from volumes where
access='UNAVAILABLE'),(select count(*) from volumes) from db,log



(removing the :  "where access='UNAVAILABLE'")

It works fine!

Is it me, or TSM?

Thanks,

Matt.


-----Original Message-----
From: Warren, Matthew James
Sent: Wednesday, May 01, 2002 1:46 PM
To: 'ADSM: Dist Stor Manager'
Subject: RE: Logmode rollforward and incr/full dbbackups


Hello TSM'ers



I am trying to run the following simple SQL query


select db.pct_utilized,log.pct_utilized,(select count(*) from volumes
where
access='READONLY'),(select count(*) from volumes where
access='UNAVAILABLE')
from db,log


The above works fine, but if I add 'as' into it like so;


select db.pct_utilized,log.pct_utilized,(select count(*) as 'READONLY'
from
volumes where access='READONLY'),(select count(*) as 'UNAVAILABLE' from
volumes where access='UNAVAILABLE') from db,log

I get an unexpected literal SQLtoken. Am I worng in how I am writing the
'as' statements?

Also, if I extend the top command to read

select db.pct_utilized,log.pct_utilized,(select count(*) from volumes
where
access='READONLY'),(select count(*) from volumes where
access='UNAVAILABLE'),(select count(*) from volumes where
access='UNAVAILABLE') from db,log



(the last bracketed select is simply repeated again)

I get nothing but a return code 3 from TSM.


Am I wildy innacurate with my SQL selects, or are there some 'odd
limitations' to TSM's pseudo-select queries.


Thanks,

Matt.

Reply via email to