manishk3008 Posted November 25, 2012 Share Posted November 25, 2012 (edited) I have these two queries select t . *, events.event_time as last_time from events, ( ( select bonding.type, bonding.global_id2 as target_post, bonding.target_id as on_whose_post, GROUP_CONCAT(bonding.shooter_id) as shooter_ids, GROUP_CONCAT(bonding.what_global_id) as shooted_what, MAX(bonding.what_global_id) as last, 'bonding' as flag from bonding where bonding.type = 1 and bonding.shooter_id in (select `user2` from relation_table where `user1` = 192) group by bonding.global_id2 ) union ( select bonding.type, bonding.global_id2 as target_post, bonding.target_id as on_whose_post, GROUP_CONCAT(bonding.shooter_id) as shooter_ids, GROUP_CONCAT(bonding.what_global_id) as shooted_what, MAX(bonding.what_global_id) as last, 'bonding' as flag from bonding where bonding.type = 2 and bonding.shooter_id in (select `user2` from relation_table where `user1` = 192) group by bonding.global_id2 ) union ( select bonding.type, bonding.global_id2 as target_post, bonding.target_id as on_whose_post, GROUP_CONCAT(bonding.shooter_id) as shooter_ids, GROUP_CONCAT(bonding.what_global_id) as shooted_what, MAX(bonding.what_global_id) as last, 'bonding' as flag from bonding where bonding.type = 5 and bonding.shooter_id in (select `user2` from relation_table where `user1` = 192) group by bonding.global_id2 ) union ( select bonding.type, bonding.global_id2 as target_post, bonding.target_id as on_whose_post, GROUP_CONCAT(bonding.shooter_id) as shooter_ids, GROUP_CONCAT(bonding.what_global_id) as shooted_what, MAX(bonding.what_global_id) as last, 'bonding' as flag from bonding where bonding.type = 9 and bonding.shooter_id in (select `user2` from relation_table where `user1` = 192) group by bonding.global_id2 ) union ( select bonding.type, bonding.global_id2 as target_post, bonding.target_id as on_whose_post, GROUP_CONCAT(bonding.shooter_id) as shooter_ids, GROUP_CONCAT(bonding.what_global_id) as shooted_what, MAX(bonding.what_global_id) as last, 'bonding' as flag from bonding where bonding.type = 10 and bonding.shooter_id in (select `user2` from relation_table where `user1` = 192) group by bonding.global_id2 ) )as t and other one :- SELECT post_stream.type, post_stream.ref_global_id as target_post, post_stream.user_id as on_whose_post, post_stream.user_id as shooter_ids, post_stream.ref_global_id as shooted_what, post_stream.ref_global_id as last, 'stream' as flag, events.event_time as last_time FROM post_stream, events, relation_table WHERE events.global_id = post_stream.ref_global_id and post_stream.type IN (2 , 3, 7, AND post_stream.user_id = relation_table.user2 AND relation_table.user1 = 192 now I need to perform a join on both the queries to get combined result, but it is giving Every derived table must have its own alias error, where I should put an alias for derived table these two queries are running with no errors when run separately. Edited November 25, 2012 by manishk3008 Quote Link to comment https://forums.phpfreaks.com/topic/271143-unable-to-perform-union-getting-1248-every-derived-table-must-have-its-own-alias-error/ Share on other sites More sharing options...
Barand Posted November 25, 2012 Share Posted November 25, 2012 Each of your table subqueries requires an alias, just like the message says. FROM ( SELECT blah FROM yadayada ) as aliaseName 1 UNION ( SELECT more FROM another ) as aliasName2 Quote Link to comment https://forums.phpfreaks.com/topic/271143-unable-to-perform-union-getting-1248-every-derived-table-must-have-its-own-alias-error/#findComment-1394940 Share on other sites More sharing options...
fenway Posted November 30, 2012 Share Posted November 30, 2012 Also, you've just double-posted. Quote Link to comment https://forums.phpfreaks.com/topic/271143-unable-to-perform-union-getting-1248-every-derived-table-must-have-its-own-alias-error/#findComment-1396366 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.