За последние 24 часа нас посетили 49716 программистов и 1731 робот. Сейчас ищут 606 программистов ...

Вложенные SQL запросы

Тема в разделе "Вопросы от блондинок", создана пользователем tommyangelo, 21 июн 2010.

  1. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    ДОбрый день.

    Объясните, пожалуйста, почему запрос
    [sql]UPDATE month_tmp SET have_qd = 1 WHERE guid IN (SELECT DISTINCT(sp_guid) FROM month_tmp WHERE (qual = 1 OR have_qd = 1));[/sql]

    выдает ошибку
    Разве нельзя сделать из одной таблицы SELECT и потом её же UPDATE??

    Если нет - то как решить подобную задачу?? :)
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Судя по надписи ошибки - нельзя
    Разделить на два запроса.
     
  3. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    а куда поместить результат внутреннего запроса?
    (не используя рнр, только sql)
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    В sql-переменную или временную таблицу.
     
  5. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    насколько я понимаю, в sql нет массивов?
     
  6. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Насколько я знаю нет.
    Однако, для тех же целей можно использовать таблицы.