powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом к TecDoc
20 сообщений из 20, страница 1 из 1
Помогите пожалуйста с запросом к TecDoc
    #39610192
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос, как бы тривеальный, но не могу разобраться..
Как получить из текдок список аналогов (кросов) + производитель для заданного артикула ?
т.е. от пользователя берем номер запчасти (например '2233'), и id производителя (например 217), получаем аналоги+производитель
Спасибо.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39610237
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За результат готов заплатить + будут необходимы еще запросы
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39610276
seomoneys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Coding,

TecDoc то хоть какой версии? Старый (до 2016Q4) или новый? Если новый - то нужна схема, поскольку каждый умелец насоздавал своих схем, и там черт ногу сломит.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39610292
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
seomoneys, старый, 1/16г
не слышал даже, что новый разбирают..
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39610348
leonmbs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET @ARTID = 1050102; /* 24.5262-0575.3 [ATE] - Brake hose */

SELECT
ARL_KIND,
CASE
WHEN ART_LOOKUP.ARL_KIND = 2 THEN SUPPLIERS.SUP_BRAND
WHEN ART_LOOKUP.ARL_KIND IN (3, 4) THEN BRANDS.BRA_BRAND
WHEN ART_LOOKUP.ARL_KIND = 5 THEN 'EAN'
ELSE ''
END 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 = @ARTID AND
ARL_KIND IN (2, 3, 4, 5)
ORDER BY
BRAND,
ARL_SORT
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39610922
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonmbs, спасибо.
Наверное немного не то.
В запрос вы передаете готовый ид артикля. А у меня по факту его нет. Есть номер и его производитель.
Думаю, можно еще сделать запрос к таблице артиклей и искать по представлению, но это не совсем правильно, так как представление всегда с пробелами и спец. символами. А пользователь может ввести артикль без пробелов например.
+ указывает сам производитель (их ид у нас уже есть. т.е подгрузили з текдок)
По-этому, входные данные это номер(можно просто чистый номер артикля) + ИД производителя

Еще раз спасибо
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39612022
LIDERSERVIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Codingleonmbs, спасибо.
Наверное немного не то.
В запрос вы передаете готовый ид артикля. А у меня по факту его нет. Есть номер и его производитель.
Думаю, можно еще сделать запрос к таблице артиклей и искать по представлению, но это не совсем правильно, так как представление всегда с пробелами и спец. символами. А пользователь может ввести артикль без пробелов например.
+ указывает сам производитель (их ид у нас уже есть. т.е подгрузили з текдок)
По-этому, входные данные это номер(можно просто чистый номер артикля) + ИД производителя

Еще раз спасибо

ttc.bovsoft.com/download/description_all_for_tables_mysql.sql пункт 2.6
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39612109
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISCodingleonmbs, спасибо.
Наверное немного не то.
В запрос вы передаете готовый ид артикля. А у меня по факту его нет. Есть номер и его производитель.
Думаю, можно еще сделать запрос к таблице артиклей и искать по представлению, но это не совсем правильно, так как представление всегда с пробелами и спец. символами. А пользователь может ввести артикль без пробелов например.
+ указывает сам производитель (их ид у нас уже есть. т.е подгрузили з текдок)
По-этому, входные данные это номер(можно просто чистый номер артикля) + ИД производителя

Еще раз спасибо

ttc.bovsoft.com/download/description_all_for_tables_mysql.sql пункт 2.6
Спасибо, но вы сами видели что предлагаете?
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39612127
LIDERSERVIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodingLIDERSERVISпропущено...


пункт 2.6
Спасибо, но вы сами видели что предлагаете?

Ха, в дествительности, извиняюсь, слетели Mime type настройки ... пересохранил в txt http://ttc.bovsoft.com/download/description_all_for_tables_mysql.txt
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39612382
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISCodingпропущено...

Спасибо, но вы сами видели что предлагаете?

Ха, в дествительности, извиняюсь, слетели Mime type настройки ... пересохранил в txt http://ttc.bovsoft.com/download/description_all_for_tables_mysql.txt
спасибо.
Но не нашел нужного для себя
Разьве, если сделать запрос к таблице ART_LOOKUPс фильтром по ARL_ART_ID в результате будут все артикли аналогами? - думаю что нет.((
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39613023
LIDERSERVIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Coding... от пользователя берем номер запчасти (например '2233'), и id производителя (например 217), получаем аналоги+производитель
Спасибо.

... пункт 2.6 ...


А в чем проблема заменить "@SEARCHBRAND" на @IDRAND и исправить WHERE в запросе

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
-- Search analogues according to search numbers and brand (brand found in the previous chapter)
	
	SET @LNGID=4; -- by default English language
	SET @SEARCHNUMBER = '02354';
	SET @SEARCHBRAND = 'METALCAUCHO';  
	
	SELECT DISTINCT
		IF (ART_LOOKUP2.ARL_KIND = 3, BRANDS2.BRA_BRAND, SUPPLIERS2.SUP_BRAND) AS BRAND,
		IF (ART_LOOKUP2.ARL_KIND IN (2, 3), ART_LOOKUP2.ARL_DISPLAY_NR, ARTICLES2.ART_ARTICLE_NR) AS NUMBER,
		ART_LOOKUP2.ARL_KIND
	FROM
				   ART_LOOKUP
		 LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.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
		INNER JOIN ART_LOOKUP AS ART_LOOKUP2 FORCE KEY (PRIMARY) ON ART_LOOKUP2.ARL_ART_ID = ART_LOOKUP.ARL_ART_ID
		 LEFT JOIN BRANDS AS BRANDS2 ON BRANDS2.BRA_ID = ART_LOOKUP2.ARL_BRA_ID
		INNER JOIN ARTICLES AS ARTICLES2 ON ARTICLES2.ART_ID = ART_LOOKUP2.ARL_ART_ID
		INNER JOIN SUPPLIERS AS SUPPLIERS2 FORCE KEY (PRIMARY) ON SUPPLIERS2.SUP_ID = ARTICLES2.ART_SUP_ID
	WHERE
		ART_LOOKUP.ARL_SEARCH_NUMBER = CLEAN_NUMBER(@SEARCHNUMBER) AND
		(ART_LOOKUP.ARL_KIND IN (3, 4) AND BRANDS.BRA_BRAND = @SEARCHBRAND OR
		 ART_LOOKUP.ARL_KIND IN (1, 2) AND SUPPLIERS.SUP_BRAND = @SEARCHBRAND) AND
		(ART_LOOKUP.ARL_KIND, ART_LOOKUP2.ARL_KIND) IN
			((1, 1), (1, 2), (1, 3),
			 (2, 1), (2, 2), (2, 3),
			 (3, 1), (3, 2), (3, 3),
			 (4, 1))
	ORDER BY
		BRAND,
		NUMBER



... на выходе получите на подобие

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
-- Search analogues according to search numbers and brand (brand found in the previous chapter)
	
	SET @LNGID=4; -- by default English language
	SET @SEARCHNUMBER = '02354';
	SET @IDBRAND = 101;   -- by default for FEBI
	
	SELECT DISTINCT
		IF (ART_LOOKUP2.ARL_KIND = 3, BRANDS2.BRA_BRAND, SUPPLIERS2.SUP_BRAND) AS BRAND,
		IF (ART_LOOKUP2.ARL_KIND IN (2, 3), ART_LOOKUP2.ARL_DISPLAY_NR, ARTICLES2.ART_ARTICLE_NR) AS NUMBER,
		ART_LOOKUP2.ARL_KIND
	FROM
				   ART_LOOKUP
		 LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.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
		INNER JOIN ART_LOOKUP AS ART_LOOKUP2 FORCE KEY (PRIMARY) ON ART_LOOKUP2.ARL_ART_ID = ART_LOOKUP.ARL_ART_ID
		 LEFT JOIN BRANDS AS BRANDS2 ON BRANDS2.BRA_ID = ART_LOOKUP2.ARL_BRA_ID
		INNER JOIN ARTICLES AS ARTICLES2 ON ARTICLES2.ART_ID = ART_LOOKUP2.ARL_ART_ID
		INNER JOIN SUPPLIERS AS SUPPLIERS2 FORCE KEY (PRIMARY) ON SUPPLIERS2.SUP_ID = ARTICLES2.ART_SUP_ID
	WHERE
		ART_LOOKUP.ARL_SEARCH_NUMBER = CLEAN_NUMBER(@SEARCHNUMBER) AND
		(ART_LOOKUP.ARL_KIND IN (3, 4) AND BRANDS.BRA_ID = @IDBRAND OR
		 ART_LOOKUP.ARL_KIND IN (1, 2) AND SUPPLIERS.SUP_ID = @IDBRAND) AND
		(ART_LOOKUP.ARL_KIND, ART_LOOKUP2.ARL_KIND) IN
			((1, 1), (1, 2), (1, 3),
			 (2, 1), (2, 2), (2, 3),
			 (3, 1), (3, 2), (3, 3),
			 (4, 1))
	ORDER BY
		BRAND,
		NUMBER



... на выходе получаю аналоги для FEBI 02354

3RG 50503
A.B.S. 270169
ALANKO 342139
AUTLOG FT1797
BENDIX 040128B
BOGE 87-721-A
BORG & BECK BSK5950
CAUTEX 180979
COMLINE CRB3078
CORTECO 80001193
DELPHI TD213W
DENCKERMANN D300040
EUROBRAKE 59125103303
FAI AutoParts SS850
FEBI BILSTEIN 02354
FIRST LINE FSK5950
FLENNOR FL4186-J
FORMPART 1903003
FRAP 2310
GSP 510452
KAMOKA 8800221
KAWE FL4186-J
KRAFT AUTOMOTIVE 4231190
LEMFÖRDER 10747 01
LYNXauto C8412
MALÒ 24032
MAPCO 33870
MERCEDES-BENZ 201 352 00 27
Metalcaucho 02471
METZGER 52016509
MEYLE 016 010 6313
MONROE L2309
MOOG ME-BJ-6313
MOTAQUIP LVSK892
NK 5013303
NK 5103303
OCAP 0404800
OPTIMAL F8-5297
ORIGINAL IMPERIUM 31816
PROFIT 2307-0057
QUINTON HAZELL EMS8500
QUINTON HAZELL QSK227S
RUVILLE 915123
SASIC 9001788
sbs 19025013303
sbs 19125103303
SIDEM 49382
SPIDAN 45603
STARLINE 28.14.745
STC T402471
STELLOX 71-21334-SX
SWAG 10 78 0006
TOPRAN 400 075
TRISCAN 8500 2309
TRUCKTEC AUTOMOTIVE 02.32.004
TRW JBU167
UNIGOM 391606
VAICO V30-7154
WILMINK GROUP WG1433447

... function CLEAN_NUMBER

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
DELIMITER $$
CREATE  FUNCTION `CLEAN_NUMBER`(STR VARCHAR(105)) RETURNS varchar(105) CHARSET utf8
    DETERMINISTIC
BEGIN
	DECLARE LEN INT DEFAULT LENGTH(STR);
	DECLARE I INT DEFAULT 1;
	DECLARE NEWSTR VARCHAR(105) DEFAULT '';
	DECLARE C CHAR;

	WHILE I<=LEN DO
		SET C = SUBSTR(STR, I, 1);
		IF C >= 'a' AND C <= 'z' OR
		   C >= 'A' AND C <= 'Z' OR
		   C >= '0' AND C <= '9' THEN
			SET NEWSTR = CONCAT(NEWSTR, C);
		END IF;
		SET I = I+1;
	END WHILE;

	RETURN NEWSTR;
END$$
DELIMITER ;
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39613119
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISCoding... от пользователя берем номер запчасти (например '2233'), и id производителя (например 217), получаем аналоги+производитель
Спасибо.

... пункт 2.6 ...


А в чем проблема заменить "@SEARCHBRAND" на @IDRAND и исправить WHERE в запросе

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
-- Search analogues according to search numbers and brand (brand found in the previous chapter)
	
	SET @LNGID=4; -- by default English language
	SET @SEARCHNUMBER = '02354';
	SET @SEARCHBRAND = 'METALCAUCHO';  
	
	SELECT DISTINCT
		IF (ART_LOOKUP2.ARL_KIND = 3, BRANDS2.BRA_BRAND, SUPPLIERS2.SUP_BRAND) AS BRAND,
		IF (ART_LOOKUP2.ARL_KIND IN (2, 3), ART_LOOKUP2.ARL_DISPLAY_NR, ARTICLES2.ART_ARTICLE_NR) AS NUMBER,
		ART_LOOKUP2.ARL_KIND
	FROM
				   ART_LOOKUP
		 LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.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
		INNER JOIN ART_LOOKUP AS ART_LOOKUP2 FORCE KEY (PRIMARY) ON ART_LOOKUP2.ARL_ART_ID = ART_LOOKUP.ARL_ART_ID
		 LEFT JOIN BRANDS AS BRANDS2 ON BRANDS2.BRA_ID = ART_LOOKUP2.ARL_BRA_ID
		INNER JOIN ARTICLES AS ARTICLES2 ON ARTICLES2.ART_ID = ART_LOOKUP2.ARL_ART_ID
		INNER JOIN SUPPLIERS AS SUPPLIERS2 FORCE KEY (PRIMARY) ON SUPPLIERS2.SUP_ID = ARTICLES2.ART_SUP_ID
	WHERE
		ART_LOOKUP.ARL_SEARCH_NUMBER = CLEAN_NUMBER(@SEARCHNUMBER) AND
		(ART_LOOKUP.ARL_KIND IN (3, 4) AND BRANDS.BRA_BRAND = @SEARCHBRAND OR
		 ART_LOOKUP.ARL_KIND IN (1, 2) AND SUPPLIERS.SUP_BRAND = @SEARCHBRAND) AND
		(ART_LOOKUP.ARL_KIND, ART_LOOKUP2.ARL_KIND) IN
			((1, 1), (1, 2), (1, 3),
			 (2, 1), (2, 2), (2, 3),
			 (3, 1), (3, 2), (3, 3),
			 (4, 1))
	ORDER BY
		BRAND,
		NUMBER



... на выходе получите на подобие

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
-- Search analogues according to search numbers and brand (brand found in the previous chapter)
	
	SET @LNGID=4; -- by default English language
	SET @SEARCHNUMBER = '02354';
	SET @IDBRAND = 101;   -- by default for FEBI
	
	SELECT DISTINCT
		IF (ART_LOOKUP2.ARL_KIND = 3, BRANDS2.BRA_BRAND, SUPPLIERS2.SUP_BRAND) AS BRAND,
		IF (ART_LOOKUP2.ARL_KIND IN (2, 3), ART_LOOKUP2.ARL_DISPLAY_NR, ARTICLES2.ART_ARTICLE_NR) AS NUMBER,
		ART_LOOKUP2.ARL_KIND
	FROM
				   ART_LOOKUP
		 LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.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
		INNER JOIN ART_LOOKUP AS ART_LOOKUP2 FORCE KEY (PRIMARY) ON ART_LOOKUP2.ARL_ART_ID = ART_LOOKUP.ARL_ART_ID
		 LEFT JOIN BRANDS AS BRANDS2 ON BRANDS2.BRA_ID = ART_LOOKUP2.ARL_BRA_ID
		INNER JOIN ARTICLES AS ARTICLES2 ON ARTICLES2.ART_ID = ART_LOOKUP2.ARL_ART_ID
		INNER JOIN SUPPLIERS AS SUPPLIERS2 FORCE KEY (PRIMARY) ON SUPPLIERS2.SUP_ID = ARTICLES2.ART_SUP_ID
	WHERE
		ART_LOOKUP.ARL_SEARCH_NUMBER = CLEAN_NUMBER(@SEARCHNUMBER) AND
		(ART_LOOKUP.ARL_KIND IN (3, 4) AND BRANDS.BRA_ID = @IDBRAND OR
		 ART_LOOKUP.ARL_KIND IN (1, 2) AND SUPPLIERS.SUP_ID = @IDBRAND) AND
		(ART_LOOKUP.ARL_KIND, ART_LOOKUP2.ARL_KIND) IN
			((1, 1), (1, 2), (1, 3),
			 (2, 1), (2, 2), (2, 3),
			 (3, 1), (3, 2), (3, 3),
			 (4, 1))
	ORDER BY
		BRAND,
		NUMBER



... на выходе получаю аналоги для FEBI 02354

3RG 50503
A.B.S. 270169
ALANKO 342139
AUTLOG FT1797
BENDIX 040128B
BOGE 87-721-A
BORG & BECK BSK5950
CAUTEX 180979
COMLINE CRB3078
CORTECO 80001193
DELPHI TD213W
DENCKERMANN D300040
EUROBRAKE 59125103303
FAI AutoParts SS850
FEBI BILSTEIN 02354
FIRST LINE FSK5950
FLENNOR FL4186-J
FORMPART 1903003
FRAP 2310
GSP 510452
KAMOKA 8800221
KAWE FL4186-J
KRAFT AUTOMOTIVE 4231190
LEMFÖRDER 10747 01
LYNXauto C8412
MALÒ 24032
MAPCO 33870
MERCEDES-BENZ 201 352 00 27
Metalcaucho 02471
METZGER 52016509
MEYLE 016 010 6313
MONROE L2309
MOOG ME-BJ-6313
MOTAQUIP LVSK892
NK 5013303
NK 5103303
OCAP 0404800
OPTIMAL F8-5297
ORIGINAL IMPERIUM 31816
PROFIT 2307-0057
QUINTON HAZELL EMS8500
QUINTON HAZELL QSK227S
RUVILLE 915123
SASIC 9001788
sbs 19025013303
sbs 19125103303
SIDEM 49382
SPIDAN 45603
STARLINE 28.14.745
STC T402471
STELLOX 71-21334-SX
SWAG 10 78 0006
TOPRAN 400 075
TRISCAN 8500 2309
TRUCKTEC AUTOMOTIVE 02.32.004
TRW JBU167
UNIGOM 391606
VAICO V30-7154
WILMINK GROUP WG1433447

... function CLEAN_NUMBER

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
DELIMITER $$
CREATE  FUNCTION `CLEAN_NUMBER`(STR VARCHAR(105)) RETURNS varchar(105) CHARSET utf8
    DETERMINISTIC
BEGIN
	DECLARE LEN INT DEFAULT LENGTH(STR);
	DECLARE I INT DEFAULT 1;
	DECLARE NEWSTR VARCHAR(105) DEFAULT '';
	DECLARE C CHAR;

	WHILE I<=LEN DO
		SET C = SUBSTR(STR, I, 1);
		IF C >= 'a' AND C <= 'z' OR
		   C >= 'A' AND C <= 'Z' OR
		   C >= '0' AND C <= '9' THEN
			SET NEWSTR = CONCAT(NEWSTR, C);
		END IF;
		SET I = I+1;
	END WHILE;

	RETURN NEWSTR;
END$$
DELIMITER ;


Спасибо большое.
Но у меня не заработал запрос.
Есть несколько вопросов:
1)Почему у многих, и у вас тоже все таблицы без префикса TOF_?
2)Вы используете какие-то визуальные конструкторы sql? Если да, то какие? У меня с понимаем сложных запросов не очень(
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39613163
LIDERSERVIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое.
Но у меня не заработал запрос.


не понятен результат "не заработал запрос" - имеете системная ошибку или пустой результат ???? ... так как причин может быть много, наугад :
- таблицы имеют другие названия
- не совпадает регистр названий таблиц (например ваши названия таблиц в нижнем регистре, мой пример был в верхнем регистре)
- ваши таблицы не имеют полных данных
- не создана функция CLEAN_NUMBER
- ....

[/quot]
Есть несколько вопросов:
1)Почему у многих, и у вас тоже все таблицы без префикса TOF_?
2)Вы используете какие-то визуальные конструкторы sql? Если да, то какие? У меня с понимаем сложных запросов не очень([/quot]

1. большой разницы нет как называются таблицы ... старый Текдок DVD имел в себе сразу две базы : текдок каталог с префиксом TOF и каталог технических характеристик с префиксом AutoDaCon ... так что так повелось что многие удаляли префикс таблиц
2. не использую конструкторов, нет в этом необходимости, нужно только понимание структуры таблиц и взаемосвязь между ими
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39613833
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISСпасибо большое.
Но у меня не заработал запрос.


не понятен результат "не заработал запрос" - имеете системная ошибку или пустой результат ???? ... так как причин может быть много, наугад :
- таблицы имеют другие названия
- не совпадает регистр названий таблиц (например ваши названия таблиц в нижнем регистре, мой пример был в верхнем регистре)
- ваши таблицы не имеют полных данных
- не создана функция CLEAN_NUMBER
- ....

я пишу на 1С 8, там исполняю запрос через ADO.
Простые запросы выполняются без проблем, а от сложные с условиями - что-то не очень... Функции не использовал, написал свою.
Регистр названий совпадает, таблицы тоже заполнены
у меня сейчас запрос такой, но не запустил

|SELECT DISTINCT
//| IF (TOF_ART_LOOKUP2.ARL_KIND = 3, TOF_BRANDS2.BRA_BRAND, TOF_SUPPLIERS2.SUP_BRAND) AS BRAND,
//|TOF_SUPPLIERS2.SUP_BRAND AS BRAND,
//| IF (TOF_ART_LOOKUP2.ARL_KIND IN (2, 3), TOF_ART_LOOKUP2.ARL_DISPLAY_NR, TOF_ARTICLES2.ART_ARTICLE_NR) AS NUMBER,
//|TOF_ART_LOOKUP2.ARL_DISPLAY_NR AS NUMBER,
| ART_LOOKUP2.ARL_KIND
|FROM
| TOF_ART_LOOKUP
| LEFT JOIN TOF_BRANDS ON TOF_BRANDS.BRA_ID = TOF_ART_LOOKUP.ARL_BRA_ID
| INNER JOIN TOF_ARTICLES ON TOF_ARTICLES.ART_ID = TOF_ART_LOOKUP.ARL_ART_ID
| INNER JOIN TOF_SUPPLIERS ON TOF_SUPPLIERS.SUP_ID = TOF_ARTICLES.ART_SUP_ID
| INNER JOIN TOF_ART_LOOKUP AS TOF_ART_LOOKUP2 FORCE KEY (PRIMARY) ON TOF_ART_LOOKUP2.ARL_ART_ID = TOF_ART_LOOKUP.ARL_ART_ID
| LEFT JOIN TOF_BRANDS AS TOF_BRANDS2 ON TOF_BRANDS2.BRA_ID = TOF_ART_LOOKUP2.ARL_BRA_ID
| INNER JOIN TOF_ARTICLES AS TOF_ARTICLES2 ON TOF_ARTICLES2.ART_ID = TOF_ART_LOOKUP2.ARL_ART_ID
| INNER JOIN TOF_SUPPLIERS AS TOF_SUPPLIERS2 FORCE KEY (PRIMARY) ON TOF_SUPPLIERS2.SUP_ID = TOF_ARTICLES2.ART_SUP_ID
|WHERE
| TOF_ART_LOOKUP.ARL_SEARCH_NUMBER = "+ЧистыйНомерАрт+" AND
| (TOF_ART_LOOKUP.ARL_KIND IN (3, 4) AND TOF_BRANDS.BRA_ID = "+ИдБренд+" OR
| TOF_ART_LOOKUP.ARL_KIND IN (1, 2) AND TOF_SUPPLIERS.SUP_ID = "+ИдБренд+") AND
| (TOF_ART_LOOKUP.ARL_KIND, TOF_ART_LOOKUP2.ARL_KIND) IN
| ((1, 1), (1, 2), (1, 3),
| (2, 1), (2, 2), (2, 3),
| (3, 1), (3, 2), (3, 3),
| (4, 1))
//|ORDER BY
//| BRAND,
//| NUMBER

Ошибка compile error: table or correlation name 'TOF_ART_LOOKUP' is not unique in block 1
Строки с // - я закоментил, они тоже не работали (((
Можете помочь упростить ваш запрос?
Спасибо.
Можна ваши контакты? у меня будут необходимы другие запросы, можем договорится об оплате.
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39614042
LIDERSERVIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Coding... я пишу на 1С 8, там исполняю запрос через ADO ...


ок :) через ADO напрямую с Transbase или имеете выгруженную базу в Mysql ??? ... если с Transbase тогда этот запрос не будет работать так как там немного отличаюется sql написание, если с Mysql тогда сначала попробуйте выполнить запрос в любому mysql клиенте

CodingМожна ваши контакты? у меня будут необходимы другие запросы, можем договорится об оплате.

[email=]
admin@cars-parts-services.com
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39614475
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISCoding... я пишу на 1С 8, там исполняю запрос через ADO ...


ок :) через ADO напрямую с Transbase или имеете выгруженную базу в Mysql ??? ... если с Transbase тогда этот запрос не будет работать так как там немного отличаюется sql написание, если с Mysql тогда сначала попробуйте выполнить запрос в любому mysql клиенте

CodingМожна ваши контакты? у меня будут необходимы другие запросы, можем договорится об оплате.

[email=]
admin@cars-parts-services.com
написал вам на почту
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39616339
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISCoding... я пишу на 1С 8, там исполняю запрос через ADO ...


ок :) через ADO напрямую с Transbase или имеете выгруженную базу в Mysql ??? ... если с Transbase тогда этот запрос не будет работать так как там немного отличаюется sql написание, если с Mysql тогда сначала попробуйте выполнить запрос в любому mysql клиенте

CodingМожна ваши контакты? у меня будут необходимы другие запросы, можем договорится об оплате.

[email=]
admin@cars-parts-services.com

работаю через ADO напрямую с Transbase
Вопрос актуальный
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39617132
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LIDERSERVISCoding... я пишу на 1С 8, там исполняю запрос через ADO ...


ок :) через ADO напрямую с Transbase или имеете выгруженную базу в Mysql ??? ... если с Transbase тогда этот запрос не будет работать так как там немного отличаюется sql написание, если с Mysql тогда сначала попробуйте выполнить запрос в любому mysql клиенте

CodingМожна ваши контакты? у меня будут необходимы другие запросы, можем договорится об оплате.

[email=]
admin@cars-parts-services.com
LIDERSERVIS
, yне поможете решить вопрос? Если вопрос в деньгах - назовите свою цену.
Спасибо
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом к TecDoc
    #39619880
Coding
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ау, есть кто-то живой?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Помогите пожалуйста с запросом к TecDoc
    #39876305
igorhh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Coding,
etot ?

Поиск изделия (от любых производителей) по заданному оригинальному/неоригинальному/торговому номеру
BRAND
Название производителя изделия
NUMBER
Номер изделия
ARL_KIND
Тип номера изделия: 1 или 4 - Неоригинальный, 2 - Торговый, 3 - Оригинальный
ARL_ART_ID
Ключ ART_ID соответствующего изделия
ART_COMPLETE
Название изделия
Используется для уточнения производителя, чтобы дальше искать аналоги уже по конкретному сочетанию: Номер + Производитель.
Здесь на входе и выходе упрощённые варианты номеров (только из букв/цифр - без пробелов/точек/тире и т.п.). По упрощённым номерам искать лучше, т.к. исключаются разные варианты написания номера - сам TecDoc ищет именно так. Вам нужно удалить из искомого номера всё кроме букв/цифр перед использованием этого запроса, либо использовать для этого MySQL-функцию CLEAN_NUMBER (раздел ОПТИМИЗАЦИЯ).
ВНИМАНИЕ: Не забывайте 'одинарные кавычки' при подстановке значений вместо переменной @NUMBER, иначе этот запрос работает ОЧЕНЬ медленно, т.к. не использует текстовый индекс по полю ARL_SEARCH_NUMBER

SET @NUMBER = '1244211212'; /* MERCEDES-BENZ | Тормозной диск */
SET @LNG_ID = 16; /* 1 - Немецкий язык; 16 - Русский язык */

SELECT DISTINCT
IF (ART_LOOKUP.ARL_KIND IN (3, 4), BRANDS.BRA_BRAND, SUPPLIERS.SUP_BRAND) AS BRAND,
ART_LOOKUP.ARL_SEARCH_NUMBER AS NUMBER,
ART_LOOKUP.ARL_KIND,
ART_LOOKUP.ARL_ART_ID,
DES_TEXTS.TEX_TEXT AS ART_COMPLETE
FROM ART_LOOKUP
LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.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
INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = ARTICLES.ART_COMPLETE_DES_ID
INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID
WHERE
ART_LOOKUP.ARL_SEARCH_NUMBER = @NUMBER AND
ART_LOOKUP.ARL_KIND IN (1, 2, 3, 4) AND
DESIGNATIONS.DES_LNG_ID = @LNG_ID
GROUP BY BRAND, NUMBER ;
esli net pischite
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом к TecDoc
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]