На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> Удаление повторяющихся строк из временнорй таблицы
    Я создаю временную таблицу таким образом:

    Цитата
    ;WINH #F1(pole1, pole2 ... poleN)
    AS (
    и далее запросы, формирующие таблицу из данных
    )


    Отработав запрос, я хочу удалить повторяющиеся строки по двум столбцам. Обращаюсь к этой временной таблице #F1.

    Цитата
    DELETE x
    FROM #F1 x
    JOIN #F1 y
    ON y.pole1 = x.pole1
    AND y.pole2 = x.pole2
    AND y.pole3 > x.pole3


    Запрос не работает. А вот если F1 заменить конкретной таблицей из БД, все работает.
    Это действительно так? Есть ли возможность работать с временной таблицей?
      Вопрос не имеет смысла. Как минимум, необходимо указать конкретную СУБД, ещё лучше конкретную версию.

      Цитата laifik @
      Есть ли возможность работать с временной таблицей?

      Судя по особенностям синтаксиса - это SQL Server. Если догадка верна, то нельзя.

      Добавьте во временную таблицу первичный ключ (это само по себе - неплохая идея), после чего обычным образом SELECT идентификаторов удаляемых записей и удаление по полученному списку. Два уровня вложенности страхуют от запрета кратного использования временной таблицы.
        Да, конечно, SQL.Иначе я бы выбрала другую страничку.
        За ответ спасибо. Были у меня такие мысли. Отвергла, не проверив. Теперь попробую.
          Цитата laifik @
          Да, конечно, SQL.Иначе я бы выбрала другую страничку.

          SQL - это язык.
          SQL Server (ранее - MS SQL) - это СУБД производства Microsoft.

          Пожалуйста, следите внимательнее за терминологией, иначе вас трудно правильно понять.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0188 ]   [ 15 queries used ]   [ Generated: 26.03.25, 23:39 GMT ]