Немного анализа. На правильность вывода не претендую.
Хотел написать несколько вызовов, на подобии ETK, но столкнулся с тем, что не правильные запросы дают, иногда, более интересные результаты для размышления, чем изначально хочешь найти.
Фундаментом ETK является блок(вкладка, сегмент, сборка и т.д., называйте как хотите), это группа во главе со отображаемым значением XX-YYYY, где XX - условная группа, YYYY индивидуальное значение. Забегу на перёд XX условное, потому, что может находится в другой группе от той что обозначена(за это отвечает отдельный параметр). Блок представляет собой картинку , перечень номеров запчастей и всё что к ней относится.
Блок можно на прямую вызвать из etk:
2019-03-21_11-34-40.png 50,71К
6 Количество загрузок:
Но, что бы вызвать его надо как минимум выбрать модель. И по ней уже сработает фильтр.
Все блоки перечислены в таблице w_btzeilen. Таблица содержит весь перечень запчастей привязанных к конкретному блоку. При вызове блока, ETK отсекает лишнюю номенклатуру по параметрам кузова и fa. А так же отсекается показ самих опции FA, если они отсутствуют в вызове.
Для просмотра всего блока достаточна простая выборка:
SELECT * FROM w_btzeilen WHERE btzeilen_btnr = ' здесь номер блока, например 13_1497';
Если вы не находите нужные вам запчасти, то говорить нужно о косяке самой etk(и такое бывает). Дальнейший анализ уже не поможет.
Таблицы винов: w_fgstnr, w_fgstnr_sala, w_fgstnr_sicher.
w_fgstnr содержит вин номера блоками (с...по) и имеет колонку fgstnr_mospid, которая содержит магическое число для фильтрации запчастей.
остальные две базы - это что-то типа вины индивидуал. выборка по ним происходит по другому принципу.
Таблица w_btzeilen_verbauung самая тяжоловесная. Именно по ней происходит фильтрация всех запчастей опираясь на fgstnr_mospid.
Допустим, я хочу выцепить все запчасти и их расположения,зависимые от кода fa и типа авто.
Сначала создадим представление для комментариев с нужным языком(если оно вам вообще нужно):
CREATE VIEW v_name(v_sachnr,v_text) AS SELECT DISTINCT teil_sachnr , ben_text FROM w_teil INNER JOIN w_ben_gk ON teil_textcode = ben_textcode WHERE ben_iso = 'ru';
CREATE VIEW v_name_b(v_bild,v_text_b) AS SELECT DISTINCT bildtaf_btnr , ben_text FROM w_bildtaf INNER JOIN w_ben_gk ON bildtaf_textc = ben_textcode WHERE ben_iso = 'ru';
Далее сам запрос(он на самом деле вызовет не всё ):
SELECT btzeilen_btnr AS "Block" , v_text_b AS "Name Bild", btzeilen_bildposnr AS "Position" , btzeilen_sachnr AS "Zapchast" , v_text AS "Name"
FROM w_btzeilen INNER JOIN v_name ON btzeilen_sachnr = v_sachnr INNER JOIN v_name_b ON btzeilen_btnr = v_bild
WHERE btzeilen_kommvor IN (SELECT DISTINCT komm_id FROM w_komm WHERE komm_code LIKE '%7RR%'
AND komm_id IN (SELECT DISTINCT kommh_id FROM w_komm_help WHERE kommh_mospid IN (SELECT DISTINCT fgstnr_mospid FROM w_fgstnr WHERE fgstnr_typschl = 'FG41')));
Для примера использованы 7RR и FG41.
Результатом будет:
2019-03-21_13-07-35.png 40,11К
6 Количество загрузок: