Page Summary
falcrum.livejournal.com - (no subject)
shaman237.livejournal.com - (no subject)
captain-hell.livejournal.com - (no subject)
avr-forever.livejournal.com - (no subject)
metaclass.livejournal.com - (no subject)
max-posedon.livejournal.com - (no subject)
captain-hell.livejournal.com - (no subject)
tzirechnoy.livejournal.com - (no subject)
enternet.livejournal.com - (no subject)
shaman237.livejournal.com - (no subject)
jdevelop.livejournal.com - (no subject)
darafei praliaskouski - (no subject)
max-posedon.livejournal.com - (no subject)
sponeg.livejournal.com - (no subject)
norguhtar.livejournal.com - (no subject)
Style Credit
- Style: Gray for Boxes and Borders by
Expand Cut Tags
No cut tags
no subject
Date: 2012-06-29 13:05 (UTC)no subject
Date: 2012-06-29 13:09 (UTC)а дальше уже плюшки конкретной базы
no subject
Date: 2012-06-29 13:22 (UTC)no subject
Date: 2012-06-29 16:25 (UTC)no subject
Date: 2012-06-29 17:11 (UTC)Или мы влезли в особенности x86 по самые гланды, а?
(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:18 (UTC)no subject
Date: 2012-06-29 13:22 (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:25 (UTC)Оракель
WITH t AS
(SELECT 1 ID, 'A' i1, 'X' i2, 'B' i3 FROM dual UNION ALL
SELECT 2 ID, NULL i1, 'X' i2, 'Z' i3 FROM dual UNION ALL
SELECT 3 ID, NULL i1, 'X' i2, 'B' i3 FROM dual UNION ALL
SELECT 4 ID, 'A' i1, NULL i2, 'B' i3 FROM dual UNION ALL
SELECT 5 ID, 'A' i1, NULL i2, NULL i3 FROM dual)
, t2 AS
(
SELECT ID, i1, i2, i3, CONNECT_BY_ROOT ID start_id FROM t
CONNECT BY NOCYCLE
((nvl(i2,0)=PRIOR nvl(I2,0) AND nvl(i3,0)=PRIOR nvl(i3,0) AND i1 IS NULL)
OR (nvl(i1,0)=PRIOR nvl(I1,0) AND nvl(i3,0)=PRIOR nvl(i3,0) AND i2 IS NULL)
OR (nvl(i1,0)=PRIOR nvl(I1,0) AND nvl(i2,0)=PRIOR nvl(i2,0) AND i3 IS NULL))
AND LEVEL<=2 -- одного уровня иерархии достаточно
AND ID!=PRIOR ID)
SELECT
MAX(ID) KEEP (DENSE_RANK FIRST ORDER BY start_id) ID,
MAX(i1) KEEP (DENSE_RANK FIRST ORDER BY start_id) i1,
MAX(i2) KEEP (DENSE_RANK FIRST ORDER BY start_id) i2,
MAX(i3) KEEP (DENSE_RANK FIRST ORDER BY start_id) i3
FROM t2
HAVING COUNT(start_id)=1
GROUP BY start_id;
Майкрософт:
select x.n2, datediff(mi, time_out,case when time_in < time_out then time_in+1 else time_in end)
from trip t
inner join company cp on cp.id_comp=t.id_comp
inner join
(select distinct q.n2 from
(select a.name as n1, b.name as n2, count(b.plane) as c from (select name, plane
from company c
inner join trip t on c.id_comp=t.id_comp
group by name, plane) a
inner join (select name, plane
from company c
inner join trip t on c.id_comp=t.id_comp
group by name, plane) b on a.name<>b.name and a.plane=b.plane
group by a.name, b.name) q
where q.c=(select count(distinct plane)
from company c
inner join trip t on c.id_comp=t.id_comp
where name=q.n2)) x on x.n2=cp.name
where datediff(mi, time_out,case when time_in < time_out then time_in+1 else time_in end) <= ALL(
select datediff(mi, time_out,case when time_in < time_out then time_in+1 else time_in end)
from trip t
inner join company cp on cp.id_comp=t.id_comp
inner join
(select distinct q.n2 from
(select a.name as n1, b.name as n2, count(b.plane) as c from (select name, plane
from company c
inner join trip t on c.id_comp=t.id_comp
group by name, plane) a
inner join (select name, plane
from company c
inner join trip t on c.id_comp=t.id_comp
group by name, plane) b on a.name<>b.name and a.plane=b.plane
group by a.name, b.name) q
where q.c=(select count(distinct plane)
from company c
inner join trip t on c.id_comp=t.id_comp
where name=q.n2)) x2 on x2.n2=cp.name and x2.n2=x.n2)
group by x.n2, datediff(mi, time_out,case when time_in < time_out then time_in+1 else time_in end)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:48 (UTC)А логика на стороне БД, требующая расширений - вещь достаточно спорная.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:27 (UTC)no subject
Date: 2012-06-29 13:29 (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:51 (UTC)SELECT field1 FROM table1 WHERE field2 IN ( SELECT field2 FROM table2 );
Вот эта базавая конструкция работает совершенно по разному в MySQL и PosgtreSQL, хоть и выдаёт одинаковый результат.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:47 (UTC)no subject
Date: 2012-06-29 19:38 (UTC)Это как в C, имхо, не смотря на то, что на дворе стандарт '11 -- вещи, изученные еще в 90-х не утратили своей актуальности.
Глянул википедию по sql -- я правильно понял, что со времен стандарта '99 фундаментальных изменений не вносилось?
(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 13:47 (UTC)no subject
Date: 2012-06-29 15:03 (UTC)Да что говорить, "вернуть одну строку с одним столбцом" в разных базах решается по разному. Я уже не говорю про pivot
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 15:05 (UTC)Главное не mysql, это прививает неверные понимания баз данных, транзакций, целостности данных и вообще)
no subject
Date: 2012-06-29 17:06 (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 15:47 (UTC)no subject
Date: 2012-06-29 16:50 (UTC)(no subject)
From:no subject
Date: 2012-06-29 15:52 (UTC)no subject
Date: 2012-06-29 18:05 (UTC)no subject
Date: 2012-06-29 19:45 (UTC)http://d4s.livejournal.com/210142.html?thread=1064926#t1064926
no subject
Date: 2012-06-29 19:16 (UTC)no subject
Date: 2012-06-29 19:44 (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-29 19:47 (UTC)Кто там хочет страшный SQL из продакшена? :)
http://code.google.com/p/kothic/source/browse/src/komap.py#217
https://github.com/Komzpa/Mapnik-Sheets/blob/master/3d-buildings/3dbuil.xml#L55
no subject
Date: 2012-06-29 20:03 (UTC)В рамках SQL нужно учить _практическим_ основам. У нас в вузе полугодовой курс был на базе DB2, не худший вариант. На данный момент идельный считаю PostgreSQL. Почему? да хотябы потому, что query plan-ы там analyze печает алгоритмически понятные.
И да студент должен понимать с какой сложностью работает конкретный запрос, т.е. уметь читать вывод analyze конкретной базы.
no subject
Date: 2012-06-29 20:38 (UTC)Безусловно. SQL -- это реляцыонная алгебра, а никакая не дискретная математика.
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-06-30 02:39 (UTC)no subject
Date: 2012-07-01 10:34 (UTC)http://citforum.ru/database/osbd/contents.shtml
В этом курсе про сам SQL начинают говорить ну очень потом.