За последние 24 часа нас посетили 17618 программистов и 1326 роботов. Сейчас ищут 1060 программистов ...

помогите сделать правильный запрос

Тема в разделе "PHP и базы данных", создана пользователем EDark, 6 авг 2012.

  1. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    доброго времени суток

    есть такая конструкция (часть)

    SELECT * FROM table1 ORDER BY (SELECT title FROM table2 WHERE table2.id=table1.pid) ASC LIMIT 0,150)

    жирным выделено то что изменить нельзя (ну или пока нельзя)

    как же мне отсортировать по title, таблица то другая получается...
     
  2. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    SELECT * FROM table1 as t1 join table2 as t2 on t2.id=t1.pid ORDER BY t2.title ASC LIMIT 0,150)
     
  3. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    к сожалению так не могу
    это не изменяемо

    SELECT * FROM table1 ORDER BY ... LIMIT 0,150)

    получается при таком раскладе я не могу так сделать как я хотел?
     
  4. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    нет, в ордер не стоит совать подзапросы, но что мешает указать нужные поля из первой таблицы, подцепить тайтл из второй и потом отсортировать?
     
  5. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    попробую объяснить

    дело в том что table1 меняется, для разного разная) скажем так
    и table2 нужна только для одного случая чтобы сортировать не по id а красиво по title используя id

    если бы можно было бы сделать так чтобы table2 не мешала другим вариантам то я бы изменил запрос... вопрос как?

    по умолчанию
    SELECT * FROM table1 ORDER BY ... LIMIT 0,150)

    вместо ... может быть к примеру 'type'

    но можно и запрос туда еще впихнуть, что я и пытался сделать

    надеюсь понятно)
     
  6. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Делай разные запросы в зависимости от потребностей - простой if else или switch case. Там, где не нужна вторая таблица - не используй, где нужна - используй.