Neculai Macarie wrote:
[]
> select 'gallery' as table_name, d_image_small, d_image_big
> from gallery
> UNION
> select 'gallery_categ' as table_name, d_image, NULL
> from gallery_categ
> order by table_name;
[]
> select 'gallery' as table_name, d_image_small, d_image_big
> from gallery
> union
> select 'categ' as table_name, d_image, NULL
> from gallery_categ
> order by table_name;
Making a twist to the samples provided
select 'categ' as table_name, d_image, '.' as big
from gallery_categ
union
select 'gallery' as table_name, d_image_small , d_image_big
from gallery
order by table_name;
the results are amazing
'table_name','d_image','big'
'categ','img22.jpg','.'
'categ','img23.jpg','.'
'categ','img21.jpg','.'
'galle','img3.jpg','i'
'galle','img6.jpg','i'
'galle','img1.jpg','i'
To my observations constants in a column declaration limit the column width
to just fit the initial constant.
Your choice of values 'gallary' and 'gallery-categ' just masked that out ;-)
A workaround can be found in creating an additional table -never to hold
data-
create table dummy (
_name char(25),
_small char(100),
_big char(100));
and selecting it upfront of the unions to the filled tables
select *
from dummy
union
select 'categ' , d_image, null
from gallery_categ
union
select 'gallery' , d_image_small , d_image_big
from gallery
order by _name;
BTW I use this kind of a dummy table just to easy (re)name collumns in a
union-ed resultset: not a simngle 'as' in any select.
HansH
--
Running 4.1.0-alpha-max-nt On WindowsXP
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]