Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сложная выборка [D7, Paradox]


Страницы:   1 2 3 4 5

barakuda ©   (2006-08-21 10:00:00) 

Вопрос следующего характера
Есть таблица 1000~1200 записей
Одно из полей, строкового типа выглядит так

   1.          «Мясоперерабатывающая; Молочная;»
   2.          «Продовольственная; Мясоперерабатывающая;»
   3.          «Рыбная; Сырное-производство;»

Пользователь выбирает из комбобокса «Мясоперерабатывающая»

Показывается только запись №1 и №2, а  №3 нет

То есть, для каждой записи должен быть ещё и поиск

Заранее благодарю


Sergey13   (2006-08-21 14:43:00) [61]

> [30] barakuda ©   (21.08.06 14:37)
> select * from osnova.db where TupK LIKE "%«PA»% and select
> * from osnova.db where TupK1 LIKE "%«tm»%"
>
> можно так??? если нет то как?
>
> ОЧЕНЬ ОЧЕНЬ НУЖНО, помоги пожалуйста

Нельзя, но если очень нужно, то можно. 8-)))))))))))
У тебя кнопка F1 не работает совсем? Или это религия такая?
select * from osnova.db where TupK LIKE "%«PA»% and TupK1 LIKE "%«tm»%"
Неужели так трудно догадаться даже не читая хелп?


barakuda   (2006-08-21 14:37:00) [62]

select * from osnova.db where TupK LIKE "%«PA»% and select * from osnova.db where TupK1 LIKE "%«tm»%"

можно так??? если нет то как?

ОЧЕНЬ ОЧЕНЬ НУЖНО, помоги пожалуйста


Sergey13   (2006-08-21 14:32:00) [63]

> [28] barakuda ©   (21.08.06 14:28)

Ты определись с чем работать будешь - с запросом или фильтром. Хотя они примерно одинаково "наращиваются" - через AND, OR и прочие логические операторы.


barakuda   (2006-08-21 14:28:00) [64]

У меня куча комбобоксов, из них клиент выбирает условия фильтра

Как мне реализовать наращивание??????


barakuda   (2006-08-21 14:25:00) [65]

тоесть я не могу оставить старый фильтр и к нему добавить новый,

Как это делается??


Sergey13   (2006-08-21 14:23:00) [66]

> [24] barakuda ©   (21.08.06 11:54)
> что бы показались только те записи в которых содержится
> ПРЕСС

А там что?

> скажите как можно наращивать, sql запросы в квери
Они не наращиваются (особенно таким способом). Они переписываются заново согласно логики желаемого результата и синтаксиса конкретного движка/сервера.


barakuda   (2006-08-21 14:17:00) [67]

с квери я разобрался, скажите как можно наращивать, sql запросы в квери,

что то типа того

Query1.Close;
Query1.SQL.Clear;

Query1.SQL.Add('select * from osnova.db where TupK LIKE "%«PA»%"');
Query1.SQL.Add('select * from osnova.db where TupK1 LIKE "%«tm»%"');
...
Query1.Open;


barakuda   (2006-08-21 11:54:00) [68]

что бы показались только те записи в которых содержится ПРЕСС


Sergey13   (2006-08-21 11:50:00) [69]

> [22] barakuda ©   (21.08.06 11:25)

> Датасет не пустой

Так какой реакции ты ждешь то? Химической?


barakuda   (2006-08-21 11:25:00) [70]

Опять никакой реакции!

Датасет не пустой

в кверти что то кроме DataSourse настраивать нужно ????????


Sergey13   (2006-08-21 11:18:00) [71]

> [20] barakuda ©   (21.08.06 11:13)

Какой реакции никакой? Пустой датасет? Значит нет таких записей.
Возможно такие есть

> 'select * from osnova.db where upper(psev) like ''%ПРЕСС%'''

PS: И лучше параметрами пользоваться, а то от кавычек в глазах рябит. 8-)


barakuda   (2006-08-21 11:13:00) [72]

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from osnova.db where psev like ''%Пресс%''');
Query1.Open;

Никакой реакции!!!!!!


Sergey13   (2006-08-21 10:59:00) [73]

> [18] barakuda ©   (21.08.06 10:56)

> В table1.filter или как????

Или как. Это запрос и писать его надо в соответствующем свойстве соответствующего компонента. Но тебе сначала надо много читать.


barakuda   (2006-08-21 10:56:00) [74]

где это писать, В table1.filter или как????

select * from table_name where field_name like '%Мясоперерабатывающая%'


Sergey13   (2006-08-21 10:54:00) [75]

> [16] barakuda ©   (21.08.06 10:48)

select * from table_name where field_name like '%Мясоперерабатывающая%'


barakuda   (2006-08-21 10:48:00) [76]

table1.Filter:='psev LIKE ' + QuotedStr(Edit1.Text + '%');
table1.Filtered:=true;

ОШИБКУ ВЫДАЕТ!!!


Sergey13   (2006-08-21 10:46:00) [77]

> [0] barakuda ©   (21.08.06 10:00)

А еще у тебя с нормализацией, ИМХО, здоровая проблема.


sniknik   (2006-08-21 10:26:00) [78]

> Сложная выборка
да уж, а как тогда называть запрос с обьеденением по пяти таблицам с группировками и плюс пара во внешних базах, на две экранных страници..?
если в одну строку сложная?
;о))

> на критику все сильны, а подсказать некому ...
тебе подсказали, к сожалению ты не этого не понял... не хватает базовых (даже не в смысле по базам ;) знаний. это уже надо не подсказывать а показывать код, чего в общемто не практикуется для случаев "2+2=?".


barakuda   (2006-08-21 10:25:00) [79]

Большое человеческое СПАСИБО


Dok   (2006-08-21 10:25:00) [80]

В первую очередь
http://www.citforum.ru/database/dbguide/index.shtml
Или хотя бы:
http://www.citforum.ru/database/dbguide/4-5.shtml


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо