Re: ResultSetMetaData question

2022-07-04 Thread John English

On 04/07/2022 16:21, Rick Hillegas wrote:
I'm afraid I don't understand your results. When I run your experiment, 
"2" is the name and label of the second column of the query "SELECT 
country,count(*) FROM customer GROUP BY country ORDER BY country". Does 
the following give you what you want:


   SELECT country,count(*) AS "count(*)" FROM customer GROUP BY country 
ORDER BY country


What I'm after if I have "x AS y" is a way of getting "x". I understood 
(incorrectly as it seems) that getColumnName() would give "x" and 
getColumnLabel() would give "y".


As far as I can tell from experiments, both methods ALWAYS produce 
identical results. So I'm no longer sure why two different methods exist.


--
John English

--
This email has been checked for viruses by AVG.
https://www.avg.com



Re: ResultSetMetaData question

2022-07-04 Thread Rick Hillegas
I'm afraid I don't understand your results. When I run your experiment, 
"2" is the name and label of the second column of the query "SELECT 
country,count(*) FROM customer GROUP BY country ORDER BY country". Does 
the following give you what you want:


  SELECT country,count(*) AS "count(*)" FROM customer GROUP BY country 
ORDER BY country



On 7/4/22 6:01 AM, John English wrote:

I have a query SELECT COUNT(*) AS X FROM ...

If I use ResultMetaData.getColumnLabel(), I get "X".
If I use ResultMetaData.getColumnName(), I also get "X".

Here is the output from a test program:

Query: SELECT country,count(*) FROM customer GROUP BY country ORDER BY 
country

Name = COUNTRY
Label = COUNTRY
Name = COUNT(*)
Label = COUNT(*)
columns = COUNT(*), COUNTRY

Query: select country, count(*) as customers from customer group by 
country order by country asc

Name = COUNTRY
Label = COUNTRY
Name = CUSTOMERS
Label = CUSTOMERS
columns = COUNTRY, CUSTOMERS

I was hoping/expecting that getColumnName() would return "COUNT(*)" in 
the second case.


Is there any way to get COUNT(*) short of parsing the query myself?

Thanks,





ResultSetMetaData question

2022-07-04 Thread John English

I have a query SELECT COUNT(*) AS X FROM ...

If I use ResultMetaData.getColumnLabel(), I get "X".
If I use ResultMetaData.getColumnName(), I also get "X".

Here is the output from a test program:

Query: SELECT country,count(*) FROM customer GROUP BY country ORDER BY 
country

Name = COUNTRY
Label = COUNTRY
Name = COUNT(*)
Label = COUNT(*)
columns = COUNT(*), COUNTRY

Query: select country, count(*) as customers from customer group by 
country order by country asc

Name = COUNTRY
Label = COUNTRY
Name = CUSTOMERS
Label = CUSTOMERS
columns = COUNTRY, CUSTOMERS

I was hoping/expecting that getColumnName() would return "COUNT(*)" in 
the second case.


Is there any way to get COUNT(*) short of parsing the query myself?

Thanks,
--
John English

--
This email has been checked for viruses by AVG.
https://www.avg.com