Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.043 c
15-1201100303
БарЛог
2008-01-23 17:58
2008.02.24
Самый лучший поисковик


2-1201604770
Звоновский
2008-01-29 14:06
2008.02.24
Помогите считать текст из Static чужого окна


2-1201902057
школьник
2008-02-02 00:40
2008.02.24
не получается запись в ИБ6


2-1201555963
IntruderLab
2008-01-29 00:32
2008.02.24
TStringGrid


2-1201541016
Inslave
2008-01-28 20:23
2008.02.24
Ini + checbox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский