avshap: (Default)
avshap ([personal profile] avshap) wrote2006-07-18 04:23 pm

SQL 2

Чего-то туплю. Больше десятка таблиц с тарифами операторов. Нужен хитровынутый запрос чтобы из этого получить временную таблицу (или представлениe [VIEW]) с ценами всех операторов для каждого телефонного кода. Попытка решить задачу в лоб приводит только к тому, что Postgres надолго задумывается. JOIN тут явно не пройдёт (неохота мне "пирамиду" временных таблиц делать). В сторону чего копать?

[identity profile] boa-constrictr.livejournal.com 2006-07-18 10:46 am (UTC)(link)
Таблицы одной структуры?
если да, то
select * from t1
union all select * from t2
...
union all select * from tN
where
...
если разной, но в принципе похожей, то чуть сложнее, но идея та же.

А умеет ли постгрес

[identity profile] ping-ving.livejournal.com 2006-07-18 10:47 am (UTC)(link)
union?

Re: А умеет ли постгрес

[identity profile] boa-constrictr.livejournal.com 2006-07-18 10:54 am (UTC)(link)
когда я имел с ним дело, а это было довольно давно, умел, и неплохо

[identity profile] avshap.livejournal.com 2006-07-18 10:53 am (UTC)(link)
А. Хреново тем, что для тарифа каждого оператора должна быть своя колонка. Union такое не даёт.

[identity profile] boa-constrictr.livejournal.com 2006-07-18 10:58 am (UTC)(link)
Операторов хоть не миллион?
а названия операторов хоть в одной колонке?
рассмотрим для случая из трех операторов
select name, tarif as tarif1, '' as tarif2, '' as tarif3 from oper1
union all
select name, '' as tarif1, tarif as tarif2, '' as tarif3 from oper2
union all
select name, '' as tarif1, '' as tarif2, tarif as tarif3 from oper3

[identity profile] avshap.livejournal.com 2006-07-18 11:03 am (UTC)(link)
Пока где-то полтора десятка. Названий операторов в таблицах нет. Переделывать СУБД заново меня пока ломает...

[identity profile] boa-constrictr.livejournal.com 2006-07-18 11:06 am (UTC)(link)
Если чиста создать таблицу, чтобы потом напечатать отчет, то нормально. Работать потом с данными из такой таблицы - легче повеситься. Ну, или там пивка пойти попить.

[identity profile] avshap.livejournal.com 2006-07-18 11:16 am (UTC)(link)
Работать. У нас подразуемвается, что я вообше эту работу (выяснить, кто и куда из операторов дешевле обходится) должен вручную в электронной таблице выполнять. :)

[identity profile] boa-constrictr.livejournal.com 2006-07-18 11:19 am (UTC)(link)
Если работать, то можно придумать структуру повеселее.

[identity profile] sergey-ilyin.livejournal.com 2006-07-18 11:27 am (UTC)(link)
Тогда ты не хочешь таблицу такой дикой структуры :)

[identity profile] avshap.livejournal.com 2006-07-18 11:54 am (UTC)(link)
Я хочу нормальную работу, чтобы был только паяльник, осциллограф и мультиметр. Но у нас её не завезли. ;)

[identity profile] sergey-ilyin.livejournal.com 2006-07-18 12:23 pm (UTC)(link)
http://www.voskhod.nnov.ru/

У меня там шапочно знакомый генеральный директор. И вообще, масса связей через КБ Сухого. Поинтересоваться?

[identity profile] avshap.livejournal.com 2006-07-18 01:50 pm (UTC)(link)
Гм. Им нужен полуслепой, без опыта работы по специальности (не считать же за такой мелкое радиолюбительство и курсовики с дипломом, где я так и не смог сделать управляющие программы и печатную плату?), да и ещё не могущий выехать сразу (мне только для переезда придётся несколько месяцев копить)? Сомневаюсь.

[identity profile] sergey-ilyin.livejournal.com 2006-07-18 01:54 pm (UTC)(link)
Гы. А с положительной стороны себя охарактеризовать себя слабО? ;)

Потому как кто именно им нужен -- я не знаю. Но люди им нужны и паяльников там много -- это факт.

[identity profile] avshap.livejournal.com 2006-07-18 02:30 pm (UTC)(link)
Гы. А с положительной стороны себя охарактеризовать себя слабО?
Не умею.

Потому как кто именно им нужен -- я не знаю. Но люди им нужны и паяльников там много -- это факт.
В любом случае всё упирается в то, что с моей зарплатой на переезд и, скорее всего, обратную дорогу придётся копить несколько месяцев.