ARTICLES.sql — различия между версиями

Материал из MstarProject Manual
Перейти к: навигация, поиск
(Created page with "Вывод детальной информации по заданному неоригинальному изделию (ART_ID): SET @ART_ID = 1806202; /* 202-134 [METZG...")
(нет различий)

Версия 09:51, 13 мая 2013

/* Вывод детальной информации по заданному неоригинальному изделию (ART_ID) */

SET @ART_ID = 1806202; /* 202-134 [METZGER] - Главный тормозной цилиндр */
SET @LNG_ID = 16; /* 1 - Немецкий язык; 16 - Русский язык */

/* Общая информация об изделии */

/* ART_ARTICLE_NR - Номер артикула */

/* SUP_BRAND - Название производителя изделия */

/* ART_COMPLETE_DES_TEXT - Название изделия */

/* ART_DES_TEXT - Описание изделия */

/* ART_STATUS_TEXT - Статус изделия (Нормальный, Не поставляется...) */

SELECT
ART_ARTICLE_NR, SUP_BRAND,	DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT,	DES_TEXTS2.TEX_TEXT AS ART_DES_TEXT,	DES_TEXTS3.TEX_TEXT AS ART_STATUS_TEXT
FROM       ARTICLES
INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = ART_COMPLETE_DES_ID                   AND DESIGNATIONS.DES_LNG_ID = @LNG_ID
INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID
LEFT JOIN DESIGNATIONS AS DESIGNATIONS2 ON DESIGNATIONS2.DES_ID = ART_DES_ID                                      AND DESIGNATIONS2.DES_LNG_ID = @LNG_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS2 ON DES_TEXTS2.TEX_ID = DESIGNATIONS2.DES_TEX_ID
INNER JOIN SUPPLIERS ON SUP_ID = ART_SUP_ID
INNER JOIN ART_COUNTRY_SPECIFICS ON ACS_ART_ID = ART_ID
INNER JOIN DESIGNATIONS AS DESIGNATIONS3 ON DESIGNATIONS3.DES_ID = ACS_KV_STATUS_DES_ID AND DESIGNATIONS3.DES_LNG_ID = @LNG_ID
INNER JOIN DES_TEXTS AS DES_TEXTS3 ON DES_TEXTS3.TEX_ID = DESIGNATIONS3.DES_TEX_ID
WHERE ART_ID = @ART_ID;

/* Критерии (характеристики) */

/* CRITERIA_DES_TEXT - Описание критерия */

/* CRITERIA_VALUE_TEXT - Значение критерия */

SELECT DES_TEXTS.TEX_TEXT AS CRITERIA_DES_TEXT, IFNULL(DES_TEXTS2.TEX_TEXT, ACR_VALUE) AS CRITERIA_VALUE_TEXT
FROM         ARTICLE_CRITERIA
LEFT JOIN DESIGNATIONS AS DESIGNATIONS2 ON DESIGNATIONS2.DES_ID = ACR_KV_DES_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS2 ON DES_TEXTS2.TEX_ID = DESIGNATIONS2.DES_TEX_ID
LEFT JOIN CRITERIA ON CRI_ID = ACR_CRI_ID 
LEFT JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = CRI_DES_ID
LEFT JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID
WHERE	ACR_ART_ID = @ART_ID AND (DESIGNATIONS.DES_LNG_ID IS NULL OR DESIGNATIONS.DES_LNG_ID = @LNG_ID) AND (DESIGNATIONS2.DES_LNG_ID IS NULL OR DESIGNATIONS2.DES_LNG_ID = @LNG_ID);


/* Дополнительная информация об изделии */

SELECT	TMT_TEXT AS AIN_TMO_TEXT
FROM           ARTICLE_INFO
INNER JOIN TEXT_MODULES ON TMO_ID = AIN_TMO_ID
INNER JOIN TEXT_MODULE_TEXTS ON TMT_ID = TMO_TMT_ID
WHERE AIN_ART_ID = @ART_ID AND	TMO_LNG_ID = @LNG_ID
ORDER BY AIN_TMO_TEXT	;

/* Аналоги */

/* ARL_KIND - Тип аналога: 2 - Торговый, 3 - Оригинальный, 4 - Неоригинальный */

/* BRAND - Название производителя аналога */

/* ARL_DISPLAY_NR - Номер аналога */

SELECT ARL_KIND,IF (ART_LOOKUP.ARL_KIND = 2, SUPPLIERS.SUP_BRAND, BRANDS.BRA_BRAND) AS BRAND, ARL_DISPLAY_NR
FROM ART_LOOKUP
LEFT JOIN BRANDS ON BRA_ID = ARL_BRA_ID
INNER JOIN ARTICLES ON ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID
INNER JOIN SUPPLIERS ON SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID
WHERE ARL_ART_ID = @ART_ID AND	ARL_KIND IN (2, 3, 4)
ORDER BY ARL_KIND,	BRA_BRAND,	ARL_DISPLAY_NR
LIMIT	100;

/* Пути к файлам картинок */

/* PATH - имя папки/имя файла.расширение */

SELECT	CONCAT(		'images/',		GRA_TAB_NR, '/',		GRA_GRD_ID, '.',		IF(LOWER(DOC_EXTENSION)='jp2', 'jpg', LOWER(DOC_EXTENSION))	) AS PATH
FROM	           LINK_GRA_ART
INNER JOIN GRAPHICS ON GRA_ID = LGA_GRA_ID
INNER JOIN DOC_TYPES ON DOC_TYPE = GRA_DOC_TYPE
WHERE	LGA_ART_ID = @ART_ID AND	(GRA_LNG_ID = @LNG_ID OR GRA_LNG_ID = 255) AND	GRA_DOC_TYPE <> 2
ORDER BY 	GRA_GRD_ID;

/* Пути к файлу логотипа неоригинального производителя изделия */

SELECT	CONCAT('images/logos/', SLO_ID, '.png') AS PATH
FROM	           ARTICLES
INNER JOIN SUPPLIER_LOGOS ON SLO_SUP_ID = ART_SUP_ID
WHERE	ART_ID = @ART_ID;

/* Пути к PDF-файлам */

/* PATH - имя папки/имя файла.расширение */

SELECT	CONCAT(		'pdf/',		GRA_ID,		LPAD(GRA_LNG_ID, 3, '0'),		'.pdf'	) AS PATH
FROM	           LINK_GRA_ART	INNER JOIN GRAPHICS ON GRA_ID = LGA_GRA_ID
WHERE	LGA_ART_ID = @ART_ID AND	(GRA_LNG_ID = @LNG_ID OR GRA_LNG_ID = 255) AND	GRA_DOC_TYPE = 2
ORDER BY 	LGA_ART_ID, 	GRA_ID, 	GRA_LNG_ID;

/* Применимость к автомобилям */

/* MFA_BRAND - Марка автомобиля */

/* MOD_CDS_TEXT - Модель автомобиля */

/* TYP_CDS_TEXT - Название типа автомобиля */

/* TYP_PCON_START - YYYYMM: Год/месяц начала выпуска типа */

/* TYP_PCON_END - YYYYMM: Год/месяц окончания выпуска типа (NULL - неограничен) */

/* TYP_CCM - Объём двигателя (куб.см) */

/* TYP_CCM_TAX - Объём двигателя (куб.см) ("эффективный объём"?) */

/* TYP_KW_FROM - Мощность двигателя (кВт): ОТ */

/* TYP_KW_UPTO - Мощность двигателя (кВт): ДО (NULL - неограничен) */

/* TYP_HP_FROM - Мощность двигателя (л.с.): ОТ */

/* TYP_HP_UPTO - Мощность двигателя (л.с.): ДО (NULL - неограничен) */

/* TYP_CYLINDERS - Количество цилиндров */

/* ENG_CODE - Код двигателя */

/* TYP_ENGINE_DES_TEXT - Тип двигателя */

/* TYP_FUEL_DES_TEXT - Тип топлива */

/* TYP_BODY_DES_TEXT - Вид сборки */

/* TYP_AXLE_DES_TEXT - Конструкция оси (для грузовых)*/

/* TYP_MAX_WEIGHT - Тоннаж (для грузовых)*/

SELECT	TYP_ID,	MFA_BRAND,	DES_TEXTS7.TEX_TEXT AS MOD_CDS_TEXT,	DES_TEXTS.TEX_TEXT AS TYP_CDS_TEXT,	TYP_PCON_START,	TYP_PCON_END,	TYP_CCM,	TYP_KW_FROM,	TYP_KW_UPTO,	TYP_HP_FROM,	TYP_HP_UPTO,	TYP_CYLINDERS,	ENGINES.ENG_CODE,	DES_TEXTS2.TEX_TEXT AS TYP_ENGINE_DES_TEXT, 	DES_TEXTS3.TEX_TEXT AS TYP_FUEL_DES_TEXT, 	IFNULL(DES_TEXTS4.TEX_TEXT, DES_TEXTS5.TEX_TEXT) AS TYP_BODY_DES_TEXT, 	DES_TEXTS6.TEX_TEXT AS TYP_AXLE_DES_TEXT, 	TYP_MAX_WEIGHT
FROM           LINK_ART
INNER JOIN LINK_LA_TYP ON LAT_LA_ID = LA_ID
INNER JOIN TYPES ON TYP_ID = LAT_TYP_ID
INNER JOIN COUNTRY_DESIGNATIONS ON COUNTRY_DESIGNATIONS.CDS_ID = TYP_CDS_ID
INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = COUNTRY_DESIGNATIONS.CDS_TEX_ID
INNER JOIN MODELS ON MOD_ID = TYP_MOD_ID
INNER JOIN MANUFACTURERS ON MFA_ID = MOD_MFA_ID
INNER JOIN COUNTRY_DESIGNATIONS AS COUNTRY_DESIGNATIONS2 ON COUNTRY_DESIGNATIONS2.CDS_ID = MOD_CDS_ID
INNER JOIN DES_TEXTS AS DES_TEXTS7 ON DES_TEXTS7.TEX_ID = COUNTRY_DESIGNATIONS2.CDS_TEX_ID
LEFT JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = TYP_KV_ENGINE_DES_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS2 ON DES_TEXTS2.TEX_ID = DESIGNATIONS.DES_TEX_ID
LEFT JOIN DESIGNATIONS AS DESIGNATIONS2 ON DESIGNATIONS2.DES_ID = TYP_KV_FUEL_DES_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS3 ON DES_TEXTS3.TEX_ID = DESIGNATIONS2.DES_TEX_ID
LEFT JOIN LINK_TYP_ENG ON LTE_TYP_ID = TYP_ID
LEFT JOIN ENGINES ON ENG_ID = LTE_ENG_ID
LEFT JOIN DESIGNATIONS AS DESIGNATIONS3 ON DESIGNATIONS3.DES_ID = TYP_KV_BODY_DES_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS4 ON DES_TEXTS4.TEX_ID = DESIGNATIONS3.DES_TEX_ID
LEFT JOIN DESIGNATIONS AS DESIGNATIONS4 ON DESIGNATIONS4.DES_ID = TYP_KV_MODEL_DES_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS5 ON DES_TEXTS5.TEX_ID = DESIGNATIONS4.DES_TEX_ID
LEFT JOIN DESIGNATIONS AS DESIGNATIONS5 ON DESIGNATIONS5.DES_ID = TYP_KV_AXLE_DES_ID
LEFT JOIN DES_TEXTS AS DES_TEXTS6 ON DES_TEXTS6.TEX_ID = DESIGNATIONS5.DES_TEX_ID
WHERE	LA_ART_ID = @ART_ID AND	COUNTRY_DESIGNATIONS.CDS_LNG_ID = @LNG_ID AND	COUNTRY_DESIGNATIONS2.CDS_LNG_ID = @LNG_ID AND
(DESIGNATIONS.DES_LNG_ID IS NULL OR DESIGNATIONS.DES_LNG_ID = @LNG_ID) AND
(DESIGNATIONS2.DES_LNG_ID IS NULL OR DESIGNATIONS2.DES_LNG_ID = @LNG_ID) AND
(DESIGNATIONS3.DES_LNG_ID IS NULL OR DESIGNATIONS3.DES_LNG_ID = @LNG_ID) AND
(DESIGNATIONS4.DES_LNG_ID IS NULL OR DESIGNATIONS4.DES_LNG_ID = @LNG_ID) AND
(DESIGNATIONS5.DES_LNG_ID IS NULL OR DESIGNATIONS5.DES_LNG_ID = @LNG_ID)
ORDER BY	MFA_BRAND,	MOD_CDS_TEXT,	TYP_CDS_TEXT,	TYP_PCON_START,	TYP_CCM
LIMIT	100;


/* Рекомендуемые цены */

/* PRI_PRICE - Цена */

/* PRICE_UNIT_DES_TEXT - Единица упаковки (1 шт, 100 шт...) */

/* QUANTITY_UNIT_DES_TEXT - Единица измерения изделия (штуки, метры...)*/

/* PRI_CURRENCY_CODE - Обозначение валюты */

SELECT 	PRI_PRICE, 	DES_TEXTS.TEX_TEXT AS PRICE_UNIT_DES_TEXT,	DES_TEXTS2.TEX_TEXT AS QUANTITY_UNIT_DES_TEXT,	PRI_CURRENCY_CODE
FROM           PRICES
INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = PRI_KV_PRICE_UNIT_DES_ID
INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID
INNER JOIN DESIGNATIONS AS DESIGNATIONS2 ON DESIGNATIONS2.DES_ID = PRI_KV_QUANTITY_UNIT_DES_ID
INNER JOIN DES_TEXTS AS DES_TEXTS2 ON DES_TEXTS2.TEX_ID = DESIGNATIONS2.DES_TEX_ID
WHERE PRI_ART_ID = @ART_ID AND	DESIGNATIONS.DES_LNG_ID = @LNG_ID AND	DESIGNATIONS2.DES_LNG_ID = @LNG_ID;


* Назад к оглавлению: Документация_по_запросам_и_структуре_Текдок_-_версия_2
* Подробнее о ценах ПО Ирбис на базе текдок от нашей компании: http://www.mstarproject.com/?action=tecdoc_mysql_site