From http://dev.mysql.com/doc/mysql/en/union.html :
Before MySQL 4.1.1, a limitation of UNION is that only the values
from the first SELECT are used to determine result column types and
lengths. This could result in value truncation if, for example, the
first SELECT retrieves shorter values than the second SELECT:
You can either update to version 4.1.1 or later, when the problem was
solved, or make sure that the first SELECT retrieves columns that are
wide enough and character types.
On 8/5/05, Kapoor, Nishikant [EMAIL PROTECTED] wrote:
I have a UNION whose statements when interchanged gives a different result. I
can understand the change in the order of the rows, but how is it that
'picture' gets the correct value in (a) but not in (b)? Here are the two
queries and their results:
(a)
(SELECT u.lName last_name, u.picture FROM teamEntry te, user u WHERE
te.person_id = u.uId AND te.tId IN (1) LIMIT 5)
UNION
(SELECT a.last_name, 0 picture FROM teamEntry te, author a WHERE
te.person_id = a.person_id AND te.tId IN (1) LIMIT 5);
last_name picture
Kapoor avataar02.png from table u
Manni 0 from table u
Office of Technology Assessment 0 from table a
Queue Readers 0 from table a
Milnes 0 from table a
(b)
(SELECT a.last_name, 0 picture FROM teamEntry te, author a WHERE
te.person_id = a.person_id AND te.tId IN (1) LIMIT 5)
UNION
(SELECT u.lName last_name, u.picture FROM teamEntry te, user u WHERE
te.person_id = u.uId AND te.tId IN (1) LIMIT 5);
last_name picture
Office of Technology Assessment 0 from table a
Queue Readers 0 from table a
Milnes 0 from table a
Kapoor 0 from table u
Manni 0 from table u
Thanks for your help,
Nishi
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]