Форум: "Начинающим";
Текущий архив: 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