Ïÿòíèöà, 21 Íîÿáðÿ 2014 ã. 20:28
+ â öèòàòíèê
Ïðèâåò.
Åñòü çàäàíèå:
Âûâåñòè ñïèñîê àêöèîíåðîâ "ÎÀÎ ÀÀÀ", êîòîðûå âëàäåþò àêöèÿìè îáîèõ âûïóñêîâ - 08-1-412î è 08-1-412ï (ðåãèñòðàöèîííûé íîìåð âûïóñêà).  ðåçóëüòàò äîëæíû âõîäèòü ñëåäóþùèå ïîëÿ: ÔÈÎ àêöèîíåðà, ïàñïîðòíûå äàííûå, àäðåñ, êîëè÷åñòâî àêöèé ïåðâîãî è âòîðîãî âûïóñêà è îáùåå êîëè÷åñòâî àêöèé.  ðåçóëüòàò ââåñòè êîììåíòàðèé. Ðåçóëüòàò ñîðòèðîâàòü ïî ÔÈÎ àêöèîíåðîâ.
Íàïèñàë çàïðîñ:
| + |
SELECT PERSON.IO_PERS AS ÔÈÎ, PERSON.S_N AS Ïàñïîðò,
PERSON.DT_DOC AS [Äàòà âûäà÷è], PERSON.GIVEN AS [Êåì âûäàí],
PERSON.ADDRESS AS Àäðåñ, Query1.num_stoc1 AS [Àêöèé 1 è 2 âûï],
Sum(L_SCH.NUM_STOC) AS [Âñåãî àêöèé],
"èìååò àêöèè 1 è 2 âûï" AS Ïðèìå÷àíèå
FROM L_SCH, PERSON,
(SELECT L_SCH.DEPO_SCH, SUM(L_SCH.NUM_STOC) AS num_stoc1
FROM SERT_VIP, L_SCH
WHERE SERT_VIP.REG_N LIKE "*08-1-412*" AND
SERT_VIP.N_VIP=L_SCH.N_VIP
GROUP BY L_SCH.DEPO_SCH
HAVING COUNT(L_SCH.DEPO_SCH)=2
ORDER BY L_SCH.DEPO_SCH) AS Query1
WHERE L_SCH.DEPO_SCH= Query1.DEPO_SCH AND
PERSON.DEPO_SCH=Query1.DEPO_SCH
GROUP BY PERSON.IO_PERS, PERSON.S_N, PERSON.DT_DOC, PERSON.GIVEN,
PERSON.ADDRESS, Query1.num_stoc1
ORDER BY PERSON.IO_PERS;
|
Ñêàçàëè, ÷òî î÷åíü ñëîæíî ðåàëèçîâàë, ìîæíî ñäåëàòü â ðàçû êîðî÷å (+ åù¸ íàäî äîáàâèòü äâà ïîëÿ: àêöèè 1 âûïóñêà, àêöèè 2 âûïóñêà). Äóìàë-äóìàë è íè÷åãî íå ïðèäóìàë. Ðàçâå âîçìîæíî íàïèñàòü ýòîò çàïðîñ êàê-òî êîðî÷å? Ïðîøó ïîìî÷ü.
Ñïàñèáî!
Îïèñàíèå ïîëåé:
http://www.sql.ru/forum/1128141/optimizirovat-zapros
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-