ФорумРазработкаБазы данных → Вытащить инфу с двух строк как с одной

Вытащить инфу с двух строк как с одной

  • Givi

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

    Spritz 30 июля 2010 г. 13:57

    В общем, есть в базе примерно такая структура таблицы pages:
    id, parent_id, url, title, content, copy

    Если "copy" не пусто, значит это страница является копией основной страницы. То есть по сути есть строка, в которой хранится страница с таким же "url", "title" и "content".

    Возник вопрос: как одним запросом вытащить все данные строки-копии, кроме поля "content", которое нужно взять в строке-оригинале с пустым полем "copy".

    п.с. Таким образом у меня есть основная страница с контентом. А также есть её копии, которые являются дочерними других родителей, но контент у них один, из основной страницы. По сути это моё решение данной темы (кстати, Дуд, спасибо за канонический мета-тег). Но хочу решить это одним запросом, вот только пока тормоз в голове.
  • adw0rd

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

    Spritz 30 июля 2010 г. 14:32, спустя 35 минут 23 секунды

    какя проблема то? джойнись
    Спустя 77 сек.
    SELECT tbl1.*, tbl2.content FROM tbl AS tbl1 LEFT JOIN tbl AS tbl2 ON tbl1.copy = tbl2.id
    adw/0
  • Givi

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

    Spritz 30 июля 2010 г. 16:13, спустя 1 час 40 минут 51 секунду

    adw0rd, признаюсь честно, пробовал джойнить, но меня споймала тупость в том моменте, что можно юзать одну таблицу два раза с разными "всевдонимами" (или как назвать присваивание запросного имени "AS tbl"). Большое спасибо Эд!
  • adw0rd

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

    Spritz 30 июля 2010 г. 16:16, спустя 2 минуты 58 секунд

    да незачто )
    все твою зажигалку юзаю))
    adw/0
  • AlexB

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

    Spritz 1 августа 2010 г. 17:02, спустя 2 дня 46 минут


    или как назвать присваивание запросного имени "AS tbl"
    Алиас )))

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