Guest User

Untitled

a guest
Sep 29th, 2015
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.19 KB | None | 0 0
  1.         SELECT *, @C := @C + 1  AS `top` FROM
  2.             (
  3.                 SELECT *, @C := 0 FROM
  4.                 (
  5.                     SELECT * FROM
  6.                     (
  7.                         SELECT s.*, s2.priority AS `priority` FROM `server` s
  8.                             LEFT JOIN servers_services ss ON (s.id = ss.server_id)
  9.                             LEFT JOIN service s2 ON (s2.id = ss.service_id)
  10.                         WHERE s.is_banned = 0 AND s.is_vip = 1 AND ss.service_id IS NOT NULL
  11.                         ORDER BY priority DESC
  12.                     ) server_with_vip_with_services
  13.  
  14.                     UNION
  15.  
  16.                     SELECT * FROM
  17.                     (
  18.                         SELECT s.*, s2.priority AS `priority` FROM `server` s
  19.                             LEFT JOIN servers_services ss ON (s.id = ss.server_id)
  20.                             LEFT JOIN service s2 ON (s2.id = ss.service_id)
  21.                         WHERE s.is_banned = 0 AND s.is_vip = 0 AND ss.service_id IS NOT NULL
  22.                         ORDER BY priority DESC
  23.                     ) server_without_vip_with_services
  24.  
  25.                     UNION
  26.  
  27.                     SELECT * FROM
  28.                     (
  29.                         SELECT s.*, s2.priority AS `priority` FROM `server` s
  30.                             LEFT JOIN servers_services ss ON (s.id = ss.server_id)
  31.                             LEFT JOIN service s2 ON (s2.id = ss.service_id)
  32.                         WHERE s.is_banned = 0 AND s.is_vip = 1 AND ss.service_id IS NULL
  33.                         ORDER BY priority DESC
  34.                     ) server_with_vip_without_services
  35.  
  36.                     UNION
  37.  
  38.                     SELECT * FROM
  39.                     (
  40.                         SELECT s.*, s2.priority AS `priority` FROM `server` s
  41.                             LEFT JOIN servers_services ss ON (s.id = ss.server_id)
  42.                             LEFT JOIN service s2 ON (s2.id = ss.service_id)
  43.                         WHERE s.is_banned = 0 AND s.is_vip = 0 AND ss.service_id IS NULL
  44.                         ORDER BY priority DESC
  45.                         ) server_without_vip_without_services
  46.                     ) r
  47.  
  48.             ) RESULT
Advertisement
Add Comment
Please, Sign In to add comment