Вродебы обычная выборка

Mihail3
Дата: 02.11.2012 10:51:11
Здравствуйте. Нужна помощь есть таблица1 с полями idrasmater(ID записи), data(дата), kol(количество1), idmater(материал1), kol1(количество2), idmater1(материал2), kol2, idmater2, kol3, idmater3, kol4, idmater4 и таблица2 с полями idmater(ID материала), matername(название материала).
Мне нужно вывести в грид таблицу1 только вместо idmater, idmater1, idmater2...idmater4 нужно отображать matername из 2 таблице
IgorNG
Дата: 02.11.2012 10:57:24
Mihail3,
Ye так сделай SELECT из 2-х таблиц и свяжи их ID
alextashk
Дата: 02.11.2012 11:05:00
Mihail3,

должен быть индекс по id у таблица2
пропиши в колонке

IIF(SEEK(idmater, 'таблица2', 'id'), таблица2.matername, 'нету')
Mihail3
Дата: 02.11.2012 12:12:34
select * from t1, t2 ;
where t1.idmater=t2.idmater and ;
t1.idmater1=t2.idmater and ;
t1.idmater2=t2.idmater and ;
t1.idmater3=t2.idmater and ;
t1.idmater4=t2.idmater
Into Cursor t3

Пустой курсор без записей только одна структура
Mihail3
Дата: 02.11.2012 12:27:07
alextashk
Mihail3,

должен быть индекс по id у таблица2
пропиши в колонке

IIF(SEEK(idmater, 'таблица2', 'id'), таблица2.matername, 'нету')


Для чего это я, что то не понял, объясните пожалуйста, таблица 2 это просто справочник материала
IgorNG
Дата: 02.11.2012 12:36:43
Mihail3,

А что все t1.idmater1,t1.idmater2,t1.idmater3,t1.idmater4 равны t2.idmater?
Mihail3
Дата: 02.11.2012 13:06:03
IgorNG,

Ну пример table1
kol idmater kol1 idmater1 kol2 idmater1
208,8000 602 0,0000 0 78,0000 56
425,7000 447 0,0000 0 0,0000 0
500,0004 29 712,0596 238 20,0000 59


И table2
56 АК12-М2
59 ЦАМ-4-1
238 АБС 2020-30 чёрный
29 Полипропилен 21030-16Н
447 Армлен ПП ТМ 20-4УПС-901 чёрный
208 Армлен ПП ТМ 20-2-901 чёрный
15 АБС 2020-30 натуральный
16 Полипропилен дроблённый




а мне в грид надо вывести таблицу 1 только вместо idmater должны отображаться названия из 2 таблицы
IgorNG
Дата: 02.11.2012 13:58:18
Mihail3,

Нужно JOIN использовать для выборки из двух таблиц.
Help -> SELECT - SQL
Mihail3
Дата: 02.11.2012 14:17:34
IgorNG
Mihail3,

Нужно JOIN использовать для выборки из двух таблиц.
Help -> SELECT - SQL

Да если бы я не почитиал я бы и не посал, читал я уже так ничего и не придумал. Поэтому и пишу. Про F1 я знаю хорошо, но сейчас именно нужна помощь более опытных специалистов
Dima T
Дата: 02.11.2012 14:27:42
У тебя изначально таблица не нормализованная, поэтому стандартные средства не подходят.
Раз у тебя в одной записи четыре ссылки на справочник, то в запросе справочник надо присоединять четыре раза.
Как-то так:
select * from t1;
     join t2 S1 on t1.idmater1 = S1.idmater;
     join t2 S2 on t1.idmater2 = S2.idmater