Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.24;
Скачать: CL | DM;

Вниз

Поиск нескольких позиций в бд   Найти похожие ветки 

 
kast ©   (2008-01-27 15:15) [0]

Здравствуйте мастера Delphi,
Имеется бд на 5000 позиций, с полями - Наименование(одинаковых позиций нет), Кол-во, Ячейка, и имеется экселевский файл с полями Наименование и кол-во,с неустановленным количеством записей(~1-150), надо чтобы
искались все эти позиции, с кол-вом из 2 таблицы и ячейкой из 1, и выводились в DbGreed поиск естественно идет по полю наименование...
1.Попробывал из екселя перевести в *.dbf, потом загрузить ее в Table, но кроме выбраной позиции ниче не хотел больше искать.
2.Есть идея из екселя в StringGreed засунуть, еще не пробывал
Вобщем подскажите что-нибудь по этому поводу?


 
Виталий Панасенко(дом)   (2008-01-27 15:47) [1]

иди в ликбез


 
www   (2008-01-27 16:50) [2]

нифига не понял


 
Виталий Панасенко(дом)   (2008-01-27 16:57) [3]

АНАЛОГИЧНО ! (с) "Следствие ведут Колобки"


 
Virgo_Style ©   (2008-01-27 18:43) [4]

гм-м... если я правильно понял,

SELECT Наименование, T2.Количество, T1.Ячейка
FROM DBFTable as T1,ExcelTable as T2
WHERE T1.Наименование=T2.Наименование


Схематично как-то так. Вроде бы есть возможность делать выборку из разных таблиц, пусть меня поправят, если я не прав, и подскажут, как именно - если прав %-)


 
Palladin ©   (2008-01-27 18:45) [5]

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


 
Anatoly Podgoretsky ©   (2008-01-27 19:02) [6]


> 5000 тыщь позиций

Откуда тысячи взялись?
А Эксель, даже 2007 такое не позволит.


 
Palladin ©   (2008-01-27 19:25) [7]

ну что я могу сказать... только: упс... :)


 
kast ©   (2008-01-27 19:25) [8]

База на 5000 позиций парадоксовская, и в ней ведется поиск из екселя вводится только позиций 1-150

> гм-м... если я правильно понял,
>
> SELECT Наименование, T2.Количество, T1.Ячейка
> FROM DBFTable as T1,ExcelTable as T2
> WHERE T1.Наименование=T2.Наименование

все правильно понял, я из екселя с помощью ацесса переделал в формат dbf и загрузил ее в table2 и теперь думаю как сделать то, что надо, таким способом выбирается только текущая позиция... пробывал чтобы искал 1 позицию, импортировал ее в дбгрид, затем 2, и т.д, только что-то не получилось ничего...


 
Palladin ©   (2008-01-27 19:28) [9]

у меня рождается смутное подозрение, что позиция equ запись...
вот только чего он с ними сделать хочет я так и не понял...

импортировать в дбгрид...
пробывать чтобы искал 1 позицию...

так вот он какой... албанский...


 
Virgo_Style ©   (2008-01-27 19:28) [10]

kast ©   (27.01.08 19:25) [8]

Показывай, как делаешь...


 
Anatoly Podgoretsky ©   (2008-01-27 19:42) [11]

> kast  (27.01.2008 19:25:08)  [8]

> таким способом выбирается только текущая позиция... пробывал чтобы искал 1 позицию, импортировал ее в дбгрид, затем 2, и т.д, только что-то не получилось ничего...

Ты это уже говорил, думаешь есть сто раз повторить, то вдруг просветление на всех найдет.


 
kast ©   (2008-01-28 16:48) [12]

Вобщем так для начала - есть 2 таблицы, в первой два поля(число,буква)
число содержит записи от 1 до 5000, буква - рандомно от а до я.
Во второй таблице(число, количество) например 5 позиций, поле число содержит - (1,255, 488,367,12), поле количество без разницы что.
Надо чтобы был поиск по полю "число" и выводил Число, т1.буква, т2.Количество.
Это пример, так что используется строковый тип данных а не числовой для поискового поля.


 
Palladin ©   (2008-01-28 16:51) [13]

и в чем проблемма? запрос что ли составить?
select поле один,поле два from таблица 2 where поле один равно число


 
kast ©   (2008-01-29 05:22) [14]

в этом случае показывает только текущую позицию выбранную в таблице 2,а надо чтобы все нашел...


 
Palladin ©   (2008-01-29 07:39) [15]

мля... в сад... или лучше сразу за метлой


 
Anatoly Podgoretsky ©   (2008-01-29 10:46) [16]

Ну может по возрасту метла еще не положена, хотя по анкете 21 год и образование вроде как среднее.


 
kast ©   (2008-01-29 16:23) [17]

При запросе select * from db1.db where Наименование = Table2.Наименование
выдает Invalid token. Наименование. Подскажите тогда как запрос сделать, и ненадо тут про метлу, самостоятельно изучаю базы данных, и вначале у всех были тупые вопросы


 
homm ©   (2008-01-29 16:26) [18]

> [0] kast ©   (27.01.08 15:15)

Есть такое прекрасное слово — csv.


 
homm ©   (2008-01-29 16:28) [19]

> [4] Virgo_Style ©   (27.01.08 18:43)
> FROM DBFTable as T1,ExcelTable as T2
> WHERE T1.Наименование=T2.Наименование

ИМХО, так писать вредно. Для понимания и сервера.
FROM DBFTable as T1 JOIN ExcelTable as T2
 ON T1.Наименование=T2.Наименование


 
ANB ©   (2008-01-29 17:47) [20]


> ИМХО, так писать вредно. Для понимания и сервера.
> FROM DBFTable as T1 JOIN ExcelTable as T2
>  ON T1.Наименование=T2.Наименование

Дык у него не жрется русское название поля. Обход для разных серверов/провайдеров/драйверов - разный.
Лучший выход - названия полей и таблиц - по английски.
И тогда по барабану как джойнить.
ЗЫ. За оракл 8 тя посадить - там бы явные джойны попробовал :)


 
tomkat   (2008-01-29 18:34) [21]


> я из екселя с помощью ацесса переделал в формат dbf и загрузил
> ее в table2 и теперь думаю .....

      O_o


 
Anatoly Podgoretsky ©   (2008-01-29 18:34) [22]

> kast  (29.01.2008 16:23:17)  [17]

Как раз в самый раз про этот инструмент.


 
Palladin ©   (2008-01-29 19:13) [23]


> , и вначале у всех были тупые вопросы

не путай первоначальные вопросы и вопросы приводящие к приобретению метлы


 
MsGuns ©   (2008-01-29 20:35) [24]

>kast ©   (29.01.08 16:23) [17]
>При запросе select * from db1.db where Наименование = Table2.Наименование

И страшная мысль закралась мне в голову - а не из стана ли свистунов сей орел и не засланец ли он ?


 
Anatoly Podgoretsky ©   (2008-01-29 21:05) [25]

> MsGuns  (29.01.2008 20:35:24)  [24]

А что за язык такой Svist


 
homm ©   (2008-01-29 21:29) [26]

> [20] ANB ©   (29.01.08 17:47)

А причем здесь русские поля? Я про то, что моя запись морфологически более верная и читабельная.


 
kast ©   (2008-01-30 05:22) [27]


> Лучший выход - названия полей и таблиц - по английски.

Английские тоже не берет, возможно это потомучто 2 таблица загружаемая


 
ketmar ©   (2008-01-30 06:29) [28]

возможно, это потому, что чукча упорно не хочет читать?


 
kast ©   (2008-01-30 16:06) [29]

Homm, большое спасибо помогло, а возможно ли сделать чтобы он не выводил второй раз поле наименование из 2 таблицы, и возможно ли чтобы последняя строка выглядела типа т1.Наименование = Т2.(индекс поля)
Anatoly Podgoretsky купи грабли, хоть помощь от тебя будет(зы:постов не хватает?)



Страницы: 1 вся ветка

Текущий архив: 2008.02.24;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.023 c
2-1201593071
kyn66
2008-01-29 10:51
2008.02.24
Слетают настройки LookupDataSet


15-1201089725
Petr V. Abramov
2008-01-23 15:02
2008.02.24
вот ведь народ настырный :)


15-1200675097
Lip
2008-01-18 19:51
2008.02.24
Переменная в процедуре .. живучая


2-1201556635
Звоновский
2008-01-29 00:43
2008.02.24
тупое неравенство - не мгу разобраться


15-1200936866
ГостьяИзБудущего
2008-01-21 20:34
2008.02.24
Оптимизатор в Delphi 2108