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]

Reply via email to