Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите с запросом  (Прочитано 11429 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
4epT
Гость
« : 24-10-2007 14:38 » 

в общем у меня такая проблема .... мне нужно сделать запрос из БД (я использую MsSql 2000). Запрос должен выполнять поиск по базе данных, только не по ключу. Запрос должен работать как поиск товара в интернет магазине, чтобы можно было ввести часть слова или только один символ ... Помогите пожалуйста  Улыбаюсь
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 24-10-2007 14:51 » 

select * from table where tovar like '%Часть_слова%'
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
4epT
Гость
« Ответ #2 : 24-10-2007 14:56 » 

Спасибо огромное )
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 29-02-2008 05:57 » 

подскажите одну весчь
например, внутри одной таблицы я могу скопировать данные из одного поля в другое так:

update T1 set T1.aaa=T1.bbb

а как сделать то же самое, но с двумя таблицами, то есть что то вроде

update T1 set T1.aaa=T2.ссс

(возможную разницу в типах полей пока не берём во внимаение)
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 29-02-2008 06:47 » 

всё, отбой тревоги - мне популярно рассказали, что я не прав ))) Придётся делать select из T1 и insert в T2
халявы не будет Улыбаюсь
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 29-02-2008 08:36 » 

Алексей1153++, можно через триггеры, если их СУБД поддерживает: в триггере сделать копирование из t1 в t2; сделать обновление t1.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 29-02-2008 10:07 » 

RXL, я нашёл решение уже (подсказали вернее) -

INSERT INTO T1 (aaa,bbb,ccc) SELECT aaa,bbb,ccc FROM T2

Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 29-02-2008 11:26 » 

Цитата: Алексей1153++
а как сделать то же самое, но с двумя таблицами, то есть что то вроде

update T1 set T1.aaa=T2.ссс
Код:
UPDATE T1
SET aaa=T2.ccc
FROM T2
WHERE ...

Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 29-02-2008 11:28 » 

Цитата: Алексей1153++
INSERT INTO T1 (aaa,bbb,ccc) SELECT aaa,bbb,ccc FROM T2
Это вставка новых записей, а не замена существующих.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #9 : 29-02-2008 11:33 » new

dimka, нет,  это вроде не подходит (и ошибку ещё генерит, кстати)

я задачу немного не правильно описал: когда находимся в одной таблице ведь количество записей источника равно количеству записей приёмника, поэтому там update подходит, а в случае с двумя таблицами подойдёт только select/insert, потому что изначально T1 - пустая

как раз вставку и нужно было )
« Последнее редактирование: 29-02-2008 11:35 от Алексей1153++ » Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines