Проблема с соединениями в запросе на SQL. Не могу сделать внутреннее и два левых к внутреннему на SQL
Образец аналог SQL запроса на 1С:
"ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
НомДополнительныеРеквизиты.Свойство КАК Свойство
ИЗ
Справочник.Номенклатура КАК Номенклатура
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НомДополнительныеРеквизиты
ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ПВХ
ПО НомДополнительныеРеквизиты.Свойство = ПВХ.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ПВХ2
ПО НомДополнительныеРеквизиты.Свойство = ПВХ2.Ссылка
ПО Номенклатура.Ссылка = НомДополнительныеРеквизиты.Ссылка"
FROM "ROUTE-NEWS" News
INNER JOIN "INVOICE" Doc
LEFT JOIN "REGSALE" RS
ON Doc."Factura-net" = RS."regsale-net" AND Doc."Factura-num" = RS."regsale-num"
LEFT JOIN "REGCOST" RC
ON Doc."Factura-net" = RC."regcost-net" AND Doc."Factura-num" = RC."regcost-num"
ON News.Net = Doc."Invoice-net" AND News.Num= Doc."Invoice-num"
Ругается на последнюю строчку "ON News.Net = Doc."Invoice-net" AND News.Num= Doc."Invoice-num""
[17:00:09] Error while executing SQL query on database 'RRR': near "ON": syntax error
(0) в профайлере глянь запрос из 1С и увидишь, что скуль не понимает вот таких соединений:
ON Doc."Factura-net" = RC."regcost-net" AND Doc."Factura-num" = RC."regcost-num"
ON News.Net = Doc."Invoice-net" AND News.Num= Doc."Invoice-num"
потому как для второго ON не указана таблица
SELECT
T1._IDRRef,
T2._Fld2170RRef
FROM dbo._Reference98 T1
INNER JOIN dbo._Reference98_VT2168 T2
LEFT OUTER JOIN dbo._Chrc809 T3
ON ((T2._Fld2170RRef = T3._IDRRef)) AND (T3._Fld817 = 0)
LEFT OUTER JOIN dbo._Chrc809 T4
ON ((T2._Fld2170RRef = T4._IDRRef)) AND (T4._Fld817 = 0)
ON (T1._IDRRef = T2._Reference98_IDRRef)
WHERE ((T1._Fld817 = 0)) AND (T2._Fld817 = 0)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший