SEARCH TREE.sql — различия между версиями
Mstar (обсуждение | вклад) (Created page with "→Построение дерева категорий изделий для заданного типа автомобиля (TYP_ID): SET @TYP_ID = 3822; /* ALFA ROMEO 145...") |
Mstar (обсуждение | вклад) |
||
Строка 26: | Строка 26: | ||
/* DESCENDANTS - Есть ли у этой категории подкатегории: 1 - Есть, 0 - Нет */ | /* DESCENDANTS - Есть ли у этой категории подкатегории: 1 - Есть, 0 - Нет */ | ||
− | SELECT STR_ID, TEX_TEXT AS STR_DES_TEXT, | + | SELECT STR_ID, TEX_TEXT AS STR_DES_TEXT, IF( EXISTS( |
− | + | ||
SELECT | SELECT | ||
* | * | ||
Строка 40: | Строка 39: | ||
INNER JOIN DESIGNATIONS ON DES_ID = STR_DES_ID | INNER JOIN DESIGNATIONS ON DES_ID = STR_DES_ID | ||
INNER JOIN DES_TEXTS ON TEX_ID = DES_TEX_ID | INNER JOIN DES_TEXTS ON TEX_ID = DES_TEX_ID | ||
− | WHERE STR_ID_PARENT <=> @STR_ID AND DES_LNG_ID = @LNG_ID AND EXISTS ( | + | WHERE STR_ID_PARENT <=> @STR_ID AND DES_LNG_ID = @LNG_ID AND EXISTS ( SELECT * |
− | + | ||
FROM LINK_GA_STR | FROM LINK_GA_STR | ||
INNER JOIN LINK_LA_TYP ON LAT_TYP_ID = @TYP_ID AND | INNER JOIN LINK_LA_TYP ON LAT_TYP_ID = @TYP_ID AND |
Версия 10:06, 13 мая 2013
/* Построение дерева категорий изделий для заданного типа автомобиля (TYP_ID) */
SET @TYP_ID = 3822; /* ALFA ROMEO 145 (930) 1.4 i.e. [1994/07-1996/12] */ SET @LNG_ID = 16; /* 1 - Немецкий язык; 16 - Русский язык */ SET @STR_ID = NULL; /* Корень дерева */
/* Последовательно устанавливая следующие значения STR_ID, можно получить ещё 4 уровня дерева: */
/* SET @STR_ID = 10001; /* Легковые автомобили */
/* SET @STR_ID = 10102; /* Двигатель */
/* SET @STR_ID = 10615; /* Кривошатунный механизм */
/* SET @STR_ID = 10620; /* Поршень */
/* Вывод списка подкатегорий для выбранной категории с номером @STR_ID,*/
/* содержащие изделия для заданного типа автомобиля (TYP_ID) */
/* STR_ID - Номер категории */
/* STR_DES_TEXT - Название категории */
/* DESCENDANTS - Есть ли у этой категории подкатегории: 1 - Есть, 0 - Нет */
SELECT STR_ID, TEX_TEXT AS STR_DES_TEXT, IF( EXISTS(
SELECT * FROM SEARCH_TREE AS SEARCH_TREE2 WHERE SEARCH_TREE2.STR_ID_PARENT <=> SEARCH_TREE.STR_ID LIMIT 1 ), 1, 0) AS DESCENDANTS
FROM SEARCH_TREE INNER JOIN DESIGNATIONS ON DES_ID = STR_DES_ID INNER JOIN DES_TEXTS ON TEX_ID = DES_TEX_ID WHERE STR_ID_PARENT <=> @STR_ID AND DES_LNG_ID = @LNG_ID AND EXISTS ( SELECT *
FROM LINK_GA_STR INNER JOIN LINK_LA_TYP ON LAT_TYP_ID = @TYP_ID AND LAT_GA_ID = LGS_GA_ID INNER JOIN LINK_ART ON LA_ID = LAT_LA_ID WHERE LGS_STR_ID = STR_ID LIMIT 1 )
;
- Назад к оглавлению: Документация_по_запросам_и_структуре_Текдок_-_версия_2
- Подробнее о ценах ПО Ирбис на базе текдок от нашей компании: http://www.mstarproject.com/?action=tecdoc_mysql_site