За последние 24 часа нас посетили 17882 программиста и 1605 роботов. Сейчас ищут 2122 программиста ...

Запрос на обновление по условию из другой таблицы

Тема в разделе "MySQL", создана пользователем joost, 8 фев 2009.

  1. joost

    joost Guest

    Есть две таблицы
    type (id, name)
    1 ноутбуки
    2 телефоны
    brand (id, name, type)
    1 ноутбуки асус ?
    2 телефоны сони ?
    3 ноутбуки акер ?


    Подскажите как сделать запрос, чтобы определить в таблице brand поле type из таблицы type

    Надо что-то типа


    [sql]update brand, type set brand.type=type.id where brand.name like '%type.name%'[/sql]
    в конструкции like '%type.name%' - like видит type.name как строчку, а не поле таблицы.
    как можно решить проблему?
     
  2. joost

    joost Guest

    задача неришима?
     
  3. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    ответ очевиден - concat
    но тому, кто рассказал тебе про like%% надо язык вырвать.
     
  4. joost

    joost Guest

    armadillo
    а как через concat?
     
  5. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    так. СНАЧАЛА подумай как этого НЕ делать.
     
  6. ZZZubec

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

    С нами с:
    28 мар 2007
    Сообщения:
    140
    Симпатии:
    0
  7. joost

    joost Guest

    armadillo
    так как же правильно сделать через concat?
     
  8. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    а в чем вопрос - зачем он нужен или какой синтаксис у конката?
     
  9. vaspet

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

    С нами с:
    23 фев 2009
    Сообщения:
    27
    Симпатии:
    0
    armadillo
    предлагает наверное:
    [sql]update brand, type set brand.type=type.id where brand.name like CONCAT('%',type.name,'%')[/sql]
    [/sql]