All pastes #50362 Raw Edit

Someone

public text v1 · immutable
#50362 ·published 2006-04-21 09:26 UTC
rendered paste body
SELECT distinct on (name) name, changeTime, id, editType, comment, userIP from ( SELECT * from ( 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, pageChanges.id as id, pageChanges.editType as editType, pageChanges.comment as comment, pageChanges.userIP as userIP from
      (
          SELECT pageChanges.name as name, max(pageChanges.changeTime) as changeTime from pageChanges, userFavorites as f, users as u where u.name=f.username and f.page=pageChanges.name and u.id=%(userFavoritesFor)s group by pageChanges.name
      ) as groupedChanges, pageChanges where groupedChanges.name=pageChanges.name and groupedChanges.changeTime=pageChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, currentImageChanges.id as id, currentImageChanges.editType as editType, currentImageChanges.comment as comment, currentImageChanges.userIP as userIP from
      (
          SELECT currentImageChanges.name as name, max(currentImageChanges.changeTime) as changeTime from currentImageChanges, userFavorites as f, users as u where u.name=f.username and f.page=currentImageChanges.name and u.id=%(userFavoritesFor)s group by currentImageChanges.name
      ) as groupedChanges, currentImageChanges where groupedChanges.name=currentImageChanges.name and groupedChanges.changeTime=currentImageChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, oldImageChanges.id as id, oldImageChanges.editType as editType, oldImageChanges.comment as comment, oldImageChanges.userIP as userIP from
      (
          SELECT oldImageChanges.name as name, max(oldImageChanges.changeTime) as changeTime from oldImageChanges, userFavorites as f, users as u where u.name=f.username and f.page=oldImageChanges.name and u.id=%(userFavoritesFor)s group by oldImageChanges.name
      ) as groupedChanges, oldImageChanges where groupedChanges.name=oldImageChanges.name and groupedChanges.changeTime=oldImageChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, deletedImageChanges.id as id, deletedImageChanges.editType as editType, deletedImageChanges.comment as comment, deletedImageChanges.userIP as userIP from
      (
          SELECT deletedImageChanges.name as name, max(deletedImageChanges.changeTime) as changeTime from deletedImageChanges, userFavorites as f, users as u where u.name=f.username and f.page=deletedImageChanges.name and u.id=%(userFavoritesFor)s group by deletedImageChanges.name
      ) as groupedChanges, deletedImageChanges where groupedChanges.name=deletedImageChanges.name and groupedChanges.changeTime=deletedImageChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, eventChanges.id as id, eventChanges.editType as editType, eventChanges.comment as comment, eventChanges.userIP as userIP from
      (
          SELECT eventChanges.name as name, max(eventChanges.changeTime) as changeTime from eventChanges, userFavorites as f, users as u where u.name=f.username and f.page=eventChanges.name and u.id=%(userFavoritesFor)s group by eventChanges.name
      ) as groupedChanges, eventChanges where groupedChanges.name=eventChanges.name and groupedChanges.changeTime=eventChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, currentMapChanges.id as id, currentMapChanges.editType as editType, currentMapChanges.comment as comment, currentMapChanges.userIP as userIP from
      (
          SELECT currentMapChanges.name as name, max(currentMapChanges.changeTime) as changeTime from currentMapChanges, userFavorites as f, users as u where u.name=f.username and f.page=currentMapChanges.name and u.id=%(userFavoritesFor)s group by currentMapChanges.name
      ) as groupedChanges, currentMapChanges where groupedChanges.name=currentMapChanges.name and groupedChanges.changeTime=currentMapChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, oldMapChanges.id as id, oldMapChanges.editType as editType, oldMapChanges.comment as comment, oldMapChanges.userIP as userIP from
      (
          SELECT oldMapChanges.name as name, max(oldMapChanges.changeTime) as changeTime from oldMapChanges, userFavorites as f, users as u where u.name=f.username and f.page=oldMapChanges.name and u.id=%(userFavoritesFor)s group by oldMapChanges.name
      ) as groupedChanges, oldMapChanges where groupedChanges.name=oldMapChanges.name and groupedChanges.changeTime=oldMapChanges.changeTime
       UNION 
       SELECT groupedChanges.name as name, groupedChanges.changeTime as changeTime, deletedMapChanges.id as id, deletedMapChanges.editType as editType, deletedMapChanges.comment as comment, deletedMapChanges.userIP as userIP from
      (
          SELECT deletedMapChanges.name as name, max(deletedMapChanges.changeTime) as changeTime from deletedMapChanges, userFavorites as f, users as u where u.name=f.username and f.page=deletedMapChanges.name and u.id=%(userFavoritesFor)s group by deletedMapChanges.name
      ) as groupedChanges, deletedMapChanges where groupedChanges.name=deletedMapChanges.name and groupedChanges.changeTime=deletedMapChanges.changeTime
       ) as sortedChanges order by changeTime ) as result;