简体   繁体   中英

Unknown column in 'order clause'

I am using this sql request:

SET @C := 0;

SELECT _s.*, @C := @C + 1 AS `number` FROM `server` _s
INNER JOIN servers_services _ss ON (_s.id = _ss.server_id)
INNER JOIN service _s2 ON (_ss.service_id = _s2.id)
WHERE _s.is_vip != 0 AND _s.is_hidden != 1 AND _s.is_banned != 1

UNION

SELECT _s.*, @C := @C + 1 AS `number` FROM `server` _s
INNER JOIN servers_services _ss ON (_s.id = _ss.server_id)
INNER JOIN service _s2 ON (_ss.service_id = _s2.id)
WHERE _s.is_vip != 0 AND _s.is_hidden != 1 AND _s.is_banned != 1

ORDER BY _s2.priority DESC

output error:

1054 - Unknown column '_s2.priority' in 'order clause'

You can try like this:

select * from (
SELECT _s.*, @C := @C + 1 AS `number` FROM `server` _s
INNER JOIN servers_services _ss ON (_s.id = _ss.server_id)
INNER JOIN service _s2 ON (_ss.service_id = _s2.id)
WHERE _s.is_vip != 0 AND _s.is_hidden != 1 AND _s.is_banned != 1

UNION

SELECT _s.*, @C := @C + 1 AS `number` FROM `server` _s
INNER JOIN servers_services _ss ON (_s.id = _ss.server_id)
INNER JOIN service _s2 ON (_ss.service_id = _s2.id)
WHERE _s.is_vip != 0 AND _s.is_hidden != 1 AND _s.is_banned != 1
) t

ORDER BY priority DESC

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM