-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


Union all íå ìîæåò îáúåäåíèòü çàïðîñû

Ïÿòíèöà, 18 Ìàÿ 2018 ã. 12:22 + â öèòàòíèê
Äîáðîãî âðåìåíè ñóòîê, ðåáÿò
Î÷åíü íóæíà âàøà ïîìîùü. Èìååòñÿ âðîäå áû ïðîñòàÿ ïðîáëåìà, íî îíà ïîñòàâèëà ìåíÿ â ñòóïîð.

Åñòü ÷åòûðå çàïðîñà, êîòîðûå ïî îòäåëüíîñòè óñïåøíî êàæäûé îòðàáàòûâàþò, ïîëÿ ó íèõ âñå ñ îäèíàêîâûìè èìåíàìè è â îäèíàêîâîì ïîðÿäêå ðàñïîëîæåíû, íî union all ïðè èõ îáúåäèíåíèè âûäàåò îøèáêó: "Ññûëêà íà ïîëå 'dbo_TempTovar6.Number' ìîæåò îòíîñèòüñÿ ê ïîëÿì íåñêîëüêèõ òàáëèö, ïåðå÷èñëåííûõ â ïðåäëîæåíèè FROM èíñòðóêöèè SQL".

Ïðè ÷åì ïðîáëåìà ïîÿâèëàñü ïîñëå òîãî êàê ïåðåïèñàë ïåðâûé çàïðîñ, îñòàëüíûå òðè ìåæäó ñîáîé ñòûêóþòñÿ çàìå÷àòåëüíî, à ïåðâûé íå ñòûêóåòñÿ íè ñî âñåìè òðåìÿ íè ñ êàêèì-ëèáî äðóãèì ïî îòäåëüíîñòè. Òî åñòü î÷åâèäíî, ÷òî ïðîáëåìà â íåì, íî íå ìîãó íèêàê ïîíÿòü ãäå è ÷òî èìåííî íóæíî èñïðàâèòü.

+
SELECT dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID, "ÌÎ" AS Ïîêàçàòåëü, IIf([ShopCount]>0,[ShopCount],0) AS Äàííûå
FROM (dbo_Òîâàðû INNER JOIN dbo_TempTovar6 ON dbo_Òîâàðû.Êîä = dbo_TempTovar6.TovarKod) LEFT JOIN Act_MO_Before ON (dbo_TempTovar6.DateMe = Act_MO_Before.DateMe) AND (dbo_TempTovar6.TovarKod = Act_MO_Before.TovarKod) AND (dbo_TempTovar6.Number = Act_MO_Before.Íîìåð)
GROUP BY dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID, "ÌÎ", IIf([ShopCount]>0,[ShopCount],0)
ORDER BY dbo_TempTovar6.Number, dbo_TempTovar6.ID


UNION ALL

SELECT dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID, "P" AS Ïîêàçàòåëü, IIf(Sum([Summ])>0,Round(Sum([Summ])/Sum([Sale]),2),0) AS Äàííûå
FROM dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ INNER JOIN (dbo_Òîâàðû INNER JOIN ((dbo_TempTovar6 INNER JOIN dbo_SalesALL ON (dbo_TempTovar6.DateMe = dbo_SalesALL.Date) AND (dbo_TempTovar6.TovarKod = dbo_SalesALL.TovarKod)) INNER JOIN FilterRC ON dbo_TempTovar6.Place = FilterRC.Place) ON dbo_Òîâàðû.Êîä = dbo_SalesALL.TovarKod) ON (dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Ìàãàçèí = dbo_SalesALL.ShopKod) AND (dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Èñòî÷íèê_ïîñòàâêè_ÐÖ = FilterRC.ÐÖ)
GROUP BY dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID
ORDER BY dbo_TempTovar6.Number, dbo_TempTovar6.ID


UNION ALL 

SELECT dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID, "SU" AS Ïîêàçàòåëü, Sum(dbo_SalesALL.Sale) AS Äàííûå
FROM dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ INNER JOIN (dbo_Òîâàðû INNER JOIN ((dbo_TempTovar6 INNER JOIN dbo_SalesALL ON (dbo_TempTovar6.TovarKod = dbo_SalesALL.TovarKod) AND (dbo_TempTovar6.DateMe = dbo_SalesALL.Date)) INNER JOIN FilterRC ON dbo_TempTovar6.Place = FilterRC.Place) ON dbo_Òîâàðû.Êîä = dbo_SalesALL.TovarKod) ON (dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Ìàãàçèí = dbo_SalesALL.ShopKod) AND (dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Èñòî÷íèê_ïîñòàâêè_ÐÖ = FilterRC.ÐÖ)
GROUP BY dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID
HAVING (((Sum(dbo_SalesALL.Sale))>=0))
ORDER BY dbo_TempTovar6.Number, dbo_TempTovar6.ID


UNION ALL SELECT dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID, "C" AS Ïîêàçàòåëü, Nz(Count([dbo_SalesALL].[ShopKod]),0) AS Äàííûå
FROM dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ INNER JOIN (dbo_Òîâàðû INNER JOIN ((dbo_TempTovar6 INNER JOIN dbo_SalesALL ON (dbo_TempTovar6.TovarKod = dbo_SalesALL.TovarKod) AND (dbo_TempTovar6.DateMe = dbo_SalesALL.Date)) INNER JOIN FilterRC ON dbo_TempTovar6.Place = FilterRC.Place) ON dbo_Òîâàðû.Êîä = dbo_SalesALL.TovarKod) ON (dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Èñòî÷íèê_ïîñòàâêè_ÐÖ = FilterRC.ÐÖ) AND (dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Ìàãàçèí = dbo_SalesALL.ShopKod)
GROUP BY dbo_TempTovar6.Number, dbo_Òîâàðû.Íàèìåíîâàíèå, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, dbo_TempTovar6.ID
ORDER BY dbo_TempTovar6.Number, dbo_TempTovar6.ID;



Íèæå ïðîìåæóòî÷íûé çàïðîñ, íà êîòîðûé ññûëàåòñÿ òîò ñàìûé çàïðîñ, èç-çà êîòîðîãî ïðåäïîëîæèòåëüíî íå ðàáîòàåò Union
+
SELECT dbo_TempTovar6.Number AS Íîìåð, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe, Count(dbo_BI_Small_Rest.Shop_Number) AS ShopCount
FROM ((dbo_TempTovar6 INNER JOIN dbo_BI_Small_Rest ON (dbo_TempTovar6.DateMe = dbo_BI_Small_Rest.Day_Date) AND (dbo_TempTovar6.TovarKod = dbo_BI_Small_Rest.Product_Id)) INNER JOIN FilterRC ON dbo_TempTovar6.Place = FilterRC.Place) INNER JOIN dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ ON (FilterRC.ÐÖ = dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Èñòî÷íèê_ïîñòàâêè_ÐÖ) AND (dbo_BI_Small_Rest.Shop_Number = dbo_Èñòî÷íèêè_ìàãàçèíîâ_ÐÖ.Ìàãàçèí)
WHERE (((dbo_BI_Small_Rest.Resp_Unit) Not Like "*Äîïðîäàæà*"))
GROUP BY dbo_TempTovar6.Number, dbo_TempTovar6.TovarKod, dbo_TempTovar6.DateMe
ORDER BY dbo_TempTovar6.Number;


Çàðàíåå áîëüøîå ñïàñèáî çà ïîìîùü

http://www.sql.ru/forum/1293614/union-all-ne-mozhet-obedenit-zaprosy


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó