The first statement in UNION returns four columns:
SELECT b.id AS id, b.pid AS pid, b.message AS message, b.date AS date FROM wall_posts AS b
The second returns six because * extends to include all columns from WALL_POSTS :
SELECT b.id, b.date, b.privacy, b.pid. b.uid message FROM wall_posts AS b
The UNION and UNION ALL require that:
- The same number of columns exists in all statements in a UNION'd query.
- Data types must match in each item / column
Using:
FROM ((SELECT b.id AS id, b.pid AS pid, b.message AS message, b.date AS date FROM wall_posts AS b JOIN Friends AS f ON f.id = b.pid WHERE f.buddy_id = '1' AND f.status = 'b' ORDER BY date DESC LIMIT 0, 10) UNION (SELECT id, pid, message, date FROM wall_posts WHERE pid = '1' ORDER BY date DESC LIMIT 0, 10))
OMG Ponies
source share