ФорумРазработкаБазы данных → JOIN и ORDER BY

JOIN и ORDER BY

  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 7 июля 2009 г. 16:26

    Есть две таблицы: термины и алиасы терминов. То есть одному термину может соответствовать несколько синонимов.

    Термины: | id | key | title | description | date |
    Алиасы: | id | word_id | title | date |

    Задача следующая: нужно выбрать с помощью JOIN последние n терминов или синонимов (то есть ORDER BY `date` DESC LIMIT 5). Проблема в том, что это могут быть, например, 3 термина из основной таблицы и 2 алиаса.

    Возможно ли сделать что-то типа «общего ORDER BY»?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 7 июля 2009 г. 16:33, спустя 6 минут 52 секунды

    а ORDER BY `date` не работает?
    Спустя 21 сек.
    в ЮНИОНе
    все умрут, а я изумруд
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 7 июля 2009 г. 16:41, спустя 7 минут 37 секунд

    Как я в UNION связи установлю?
    Спустя 21 сек.
    В таблице алиасов нет дескрипшна, его нужно тащить из основной таблицы.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 7 июля 2009 г. 16:41, спустя 42 секунды


    Как я в UNION связи установлю?
    Спустя 21 сек.
    В таблице алиасов нет дескрипшна, его нужно тащить из основной таблицы.
    легко :)
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 7 июля 2009 г. 16:46, спустя 5 минут 9 секунд


    (
    SELECT `id`, `description`, `title`, `date`, '' AS `word_id`
    FROM `termin`
    )
    UNION
    (
    SELECT `id`, `word_id`, `title`, `date`, '' AS `description`
    FROM `alias`
    )
    ORDER BY `date` DESC
    LIMIT 5
    Спустя 24 сек.
    а отсекать термины по пустому word_id, а алиасы по пустому description
    Спустя 15 сек.
    тока еще `date` в селект добавь
    все умрут, а я изумруд
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 7 июля 2009 г. 17:11, спустя 24 минуты 11 секунд

    *ушел в ман читать про юнион*
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 7 июля 2009 г. 17:23, спустя 12 минут 21 секунду

    простите но я туплю или там можно просто JOIN + GROUP BY ?
  • AndryG

    Сообщения: 237 Репутация: N Группа: Адекваты

    Spritz 7 июля 2009 г. 21:09, спустя 3 часа 46 минут 30 секунд


    Задача следующая: нужно выбрать с помощью JOIN последние n терминов или синонимов (то есть ORDER BY `date` DESC LIMIT 5). Проблема в том, что это могут быть, например, 3 термина из основной таблицы и 2 алиаса.

    Это не задача, а попытка описать решение … без задачи.
    В таблице алиасов нет дескрипшна, его нужно тащить из основной таблицы.

    Это ещё часть задания.

    Опишите толком, что есть, и что надо :-)

    «общего ORDER BY»?


    select *
    from (
    select * from aa
    UNION ALL
    select * from bb
    )
    ORDER BY

    :-)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!