Âòîðíèê, 30 Ìàÿ 2017 ã. 15:32
+ â öèòàòíèê
 áàçå äàííûõ ïîñòðîåíû äâà çàïðîñà, êàæäûé èç êîòîðûõ ñîáèðàåò íåêîòîðûé íàáîð çàïèñåé.
Ýòè çàïðîñû èñïîëüçóþòñÿ êàê èñòî÷íèê äàííûõ òðåòüåãî çàïðîñà, ïðè÷¸ì ïðèìåíÿåòñÿ LEFT JOIN. Ñîîòâåòñòâåííî ÿ îæèäàþ, ÷òî äëÿ òåõ çàïèñåé îäíîãî ïîäçàïðîñà, êîòîðûì íåò ñîîòâåòñòâèÿ âî âòîðîì ïîäçàïðîñå, íà ìåñòå ïîëåé âûâîäà èç âòîðîãî ïîäçàïðîñà áóäåò Null... à âîò õðåí! È ÿ íå ïîíèìàþ, ïî÷åìó...
Òåïåðü êîíêðåòíî.
Âîò ïåðâûé ïîäçàïðîñ
| + SubQuery1 |
SELECT Ïàíåëè.Íàèìåíîâàíèå & ' - ' & Ïîðòû.Ïîðò AS Ïîðò1, Ïîðòû.Êîä
FROM Ïàíåëè
INNER JOIN Ïîðòû ON Ïàíåëè.Êîä = Ïîðòû.Ïàíåëü
|
Âîò âòîðîé ïîäçàïðîñ
| + SubQuery2 |
SELECT Êðîññèðîâêè.Ïîðò1, Ïàíåëè.Íàèìåíîâàíèå & ' - ' & Ïîðòû.Ïîðò AS Ïîðò2
FROM Ïàíåëè
INNER JOIN (
Ïîðòû
INNER JOIN Êðîññèðîâêè ON Ïîðòû.Êîä = Êðîññèðîâêè.Ïîðò2
) ON Ïàíåëè.Êîä = Ïîðòû.Ïàíåëü
|
Âîò çàïðîñ, èñïîëüçóþùèé èõ:
| + Êðîññèðîâàíèå-1 |
SELECT SubQuery1.Ïîðò1 AS Ïîðò1, SubQuery2.Ïîðò2 AS Ïîðò2, SubQuery1.Êîä AS Êîä1, SubQuery2.Ïîðò1 AS Êîä2
FROM SubQuery1
LEFT JOIN SubQuery2 ON SubQuery1.Êîä = SubQuery2.Ïîðò1;
|
èëè îí æå, íî ñ ïîäñòàíîâêîé òåêñòà:
| + Êðîññèðîâàíèå-2 |
SELECT SubQuery1.Ïîðò1 AS Ïîðò1, SubQuery2.Ïîðò2 AS Ïîðò2, SubQuery1.Êîä AS Êîä1, SubQuery2.Ïîðò1 AS Êîä2
FROM (
SELECT Ïàíåëè.Íàèìåíîâàíèå & ' - ' & Ïîðòû.Ïîðò AS Ïîðò1, Ïîðòû.Êîä
FROM Ïàíåëè
INNER JOIN Ïîðòû ON Ïàíåëè.Êîä = Ïîðòû.Ïàíåëü
) AS SubQuery1
LEFT JOIN (
SELECT Êðîññèðîâêè.Ïîðò1, Ïàíåëè.Íàèìåíîâàíèå & ' - ' & Ïîðòû.Ïîðò AS Ïîðò2
FROM Ïàíåëè
INNER JOIN (
Ïîðòû
INNER JOIN Êðîññèðîâêè ON Ïîðòû.Êîä = Êðîññèðîâêè.Ïîðò2
) ON Ïàíåëè.Êîä = Ïîðòû.Ïàíåëü
) AS SubQuery2 ON SubQuery1.Êîä = SubQuery2.Ïîðò1;
|
Ïîíÿòíî, äëÿ òåõ çàïèñåé ïåðâîãî ïîäçàïðîñà, êîòîðûì íåò ñîîòâåòñòâèÿ âî âòîðîì, ÿ â ïîëÿõ SubQuery2.Ïîðò2 AS Ïîðò2 è SubQuery2.Ïîðò1 AS Êîä2 îæèäàþ óâèäåòü Null... è â ïîëå SubQuery2.Ïîðò1 AS Êîä2 ÿ ýòîò Null è ïîëó÷àþ... íî âèæó âìåñòî íåãî â ïîëå SubQuery2.Ïîðò2 AS Ïîðò2 ëèòåðàë " - ".
Íàáëþäåíèå äåìîíñòðèðóåò ñêðèíøîò ("Êðîññèðîâàíèå-2" - ýòî èìÿ ñîõðàí¸ííîãî ñòàòè÷åñêè ïîñëåäíåãî çàïðîñà, êîòîðûé ñ ïîäñòàíîâêàìè).
ÏÎ×ÅÌÓ???
http://www.sql.ru/forum/1261598/strannyy-vyvod-zaprosa
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-