Страница 1 из 1

удалить записи оставив несколько[MSSQL]

Добавлено: 2014-07-30 17:53:07
Electronik
как удалить все записи из таблицы оставив только первых 50

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-10-17 11:16:42
Alex Keda
По тому же условию, по которому 50 строк и выбираете

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-10-17 15:47:08
Neus
Alex Keda писал(а):По тому же условию, по которому 50 строк и выбираете
неа
он тада эти 50 и удалит, а ему надо их оставить

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-10-17 15:53:47
Neus
Electronik писал(а):как удалить все записи из таблицы оставив только первых 50
типа такого

Код: Выделить всё

delete *
from blabla
where blabla.id not in (select top 50 blabla.id)
это псевдокод, т.к. точный синтаксис не помню - лезь в его мануал

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-10-17 17:39:56
Electronik
Спасибо! Буду разбираться.

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-10-17 19:24:41
Alex Keda
Neus писал(а):
Alex Keda писал(а):По тому же условию, по которому 50 строк и выбираете
неа
он тада эти 50 и удалит, а ему надо их оставить
ну знаете ли, уж подумать что условие надо инвертировать - это совсем детский труд.
такие банальности и писать-то лень

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-10-18 17:32:34
Neus

Код: Выделить всё

Select top 50
Where age > 50
Order by age desc 
Задача удалить все записи кроме этих
Напиши запрос с инверсией условия выборки :)

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-19 19:02:35
QweЯty
Доброго всем дня :)

подскажите пожалуйста по MSSQL
есть base
use base;

делаем запрос:

Код: Выделить всё

select name, name_r from id_1 where id_2<>'';
выводит таблицей из 85000 список name, namer.

как заполнить данный список значением null или пустым местом, так как это текстовое поле...

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-20 0:30:47
Neus
Какое из 3-х полей заполнить ?

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-20 2:48:20
QweЯty
name и name_r

id_2 остается неизменным

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-20 7:50:55
Neus
т.е. поля name и name_r надо "обнулить" у записей с не пустым id_2 ?

Код: Выделить всё

update id_1 set name=null, name_r=null where id_2<>'';
или 
update id_1 set name='', name_r='' where id_2<>'';

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-20 18:52:14
QweЯty
странно, я так же вводил... облом был....
мож кавычки не те вводил...

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-21 8:20:32
Neus
а присвоение null работает или нет?

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-11-21 22:47:42
QweЯty
null не юзал, сразу '' попробовал - справился... оттого и в афиге был)))

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-12-03 16:26:23
QweЯty
даа... начальство млин...итить его в тудыть....

хорошо перед удалением сделал бекап таблицы удаленной)) затребовали все восстановить

удалял значения из таблицы так:

Код: Выделить всё

update table 
set 
	name_1=N'', 
	name_2=N'',
	name_3=0
where name_0<>'';
формат бекапа такой:

Код: Выделить всё

name_0;name_1;name_2;name_3;name_4;name_5;name_6;name_7;name_8;name_9;name_10;name_11;name_12;name_13;name_14;name_15;name_16;name_17;name_18;name_19
name_0 в базе так и остался... просто пустые значения в name_1 name_2 name_3

как можно восстановить данные из файла в таблицу в msqsl? так как менять/удалять name_0 не получается - ругань идет...

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-12-03 18:43:58
Neus
ууу
иди на sql.ru
там быстрее помогут

импортируй в временную таблицу и пиши процедуру

Re: удалить записи оставив несколько[MSSQL]

Добавлено: 2014-12-03 19:24:40
КвертЯ
так и думал сделать, но не нашел как залить cvs в таблицу, импрортер ругается постоянно...