 |
ЗАЗ Форум Присвячений автомобілям Запорожець
|
|
|
|
Попередня тема :: Наступна тема |
Автор |
Повідомлення |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 01 Липень 2009 18:46 Заголовок повідомлення: Срочно нужна помощь в SQL((((( |
|
|
Ну собсно, необходимо создать маленькую БД в SQL. Помогите товарищи, кто шарит. 
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 01 Липень 2009 19:04 Заголовок повідомлення: |
|
|
А забыл задание я отсканю по необходимости
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 01 Липень 2009 19:47 Заголовок повідомлення: |
|
|
Если маленькую, можно глянуть.
Тока ничего не обещаю.
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 01 Липень 2009 21:51 Заголовок повідомлення: |
|
|
Ок , ща пришлю!
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 11:59 Заголовок повідомлення: |
|
|
Вопрос по заданию - состав групп постоянный (1), или на каждое восхождение формируется новая группа (2)?
В общем, делаю (1), ибо с (2) лень заморачиваться.
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 13:52 Заголовок повідомлення: |
|
|
Делал в MySQL.
Если что, адаптируешь под тот SQL, который у вас.
Структура:
Код: |
CREATE TABLE IF NOT EXISTS `address` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`country_id` int(11) NOT NULL,
`city` varchar(50) NOT NULL,
`street` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=6 ;
CREATE TABLE IF NOT EXISTS `alpinist` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`address_id` int(11) NOT NULL,
`grp_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;
CREATE TABLE IF NOT EXISTS `ascent` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date_begin` date NOT NULL,
`date_end` date NOT NULL,
`grp_id` int(11) NOT NULL,
`mountain_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=6 ;
CREATE TABLE IF NOT EXISTS `country` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=11 ;
CREATE TABLE IF NOT EXISTS `grp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;
CREATE TABLE IF NOT EXISTS `mountain` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`country_id` int(11) NOT NULL,
`height` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=11 ;
|
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 13:54 Заголовок повідомлення: |
|
|
Тестовые данные:
Код: |
INSERT INTO `address` (`id`, `country_id`, `city`, `street`) VALUES
(1, 2, 'Волгоград', 'ул. Ленина, 50, кв. 100'),
(2, 2, 'Москва', 'ул. Б.Никитская, д. 53'),
(3, 1, 'Киев', 'ул. Теремковская, 1, кв. 2'),
(4, 1, 'Донецк', 'ул. Строителей, 5, кв. 20'),
(5, 1, 'Ялта', 'Набережная, 4');
INSERT INTO `alpinist` (`id`, `name`, `address_id`, `grp_id`) VALUES
(1, 'Иванов Иван Иванович', 1, 1),
(2, 'Петров Петр Петрович', 2, 1),
(3, 'Шматько Григорий Михайлович', 3, 2),
(4, 'Буйнов Валерий Васильевич', 4, 2),
(5, 'Солнцевой Владимир Николаевич', 5, 3),
(6, 'Солнцевой Дмитрий Николаевич', 5, 3);
INSERT INTO `ascent` (`id`, `date_begin`, `date_end`, `grp_id`, `mountain_id`) VALUES
(1, '2006-07-11', '2006-07-12', 2, 10),
(2, '2007-03-05', '2007-03-13', 1, 9),
(3, '2005-10-20', '2005-10-24', 3, 1),
(4, '2008-06-10', '2008-06-10', 3, 10),
(5, '2008-03-12', '2008-03-12', 2, 10);
INSERT INTO `country` (`id`, `name`) VALUES
(2, 'Россия'),
(1, 'Украина'),
(3, 'Киргизия'),
(4, 'Греция'),
(5, 'Франция');
INSERT INTO `grp` (`id`, `name`) VALUES
(1, 'Отважные карабкатели'),
(2, 'Вперед и только вперед!'),
(3, 'Крымские скалолазы');
INSERT INTO `mountain` (`id`, `name`, `country_id`, `height`) VALUES
(1, 'Парнас', 4, 2457),
(2, 'Пик Ленина', 3, 7134),
(3, 'Пик Победы', 3, 7439),
(4, 'Говерла', 1, 2061),
(5, 'Пик Чекановского', 2, 2069),
(6, 'Мангутай', 2, 1856),
(7, 'Пик Ани', 5, 2504),
(8, 'Пела', 5, 3050),
(9, 'Эльбрус', 2, 5642),
(10, 'Ай-Петри', 1, 1234);
|
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 13:56 Заголовок повідомлення: |
|
|
Запросы:
1.1. (тут честно не знаю, как сначала отсортировать, а потом сгруппировать.
т.к. по правилам синтаксиса можно сделать только так - сначала group by,
потом order by, в котором после группировки уже смысла немного)
Код: |
select
a.*, m.name
from
ascent as a, mountain as m
where
((a.date_begin between "2000-01-01" and "2009-01-01") or
(a.date_end between "2000-01-01" and "2009-01-01")) and
m.id = a.mountain_id
group by m.name
order by a.date_begin desc |
1.2.
Код: |
select
a.date_begin, a.date_end, m.name, g.name
from
ascent a, mountain m, grp g
where
m.id = a.mountain_id and a.grp_id = g.id
order by m.name, a.date_begin |
2.
Код: |
select
l.name,m.name,count(m.name) as cnt
from
ascent as a, mountain as m, grp as g, alpinist as l
where
m.id = a.mountain_id and a.grp_id = g.id and l.grp_id = g.id
group by l.name,m.name
order by cnt desc |
3.
Код: |
select
g.name, l.name
from
ascent a, alpinist l, grp g
where
((a.date_begin between "2000-01-01" and "2009-01-01") or
(a.date_end between "2000-01-01" and "2009-01-01")) and
g.id = a.grp_id and l.grp_id = g.id
group by l.name
order by a.date_begin
|
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 13:58 Заголовок повідомлення: |
|
|
Да, в запросах стоят даты 2000-01-01 и 2009-01-01 - вместо них подставить какие-то переменные.
Я просто не знаю, как именно у вас принято.
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 02 Липень 2009 19:09 Заголовок повідомлення: |
|
|
Огромное спасибо!! Я просто в шоке, ты красавчик! РЕспект! А мож на какой нибудь обменнитк закинуть версию в SQLе????? А сюда ссылку??? Но в любом случае примного благодарен тебе за помощь!!!!!!!!!! При встрече обязательно угощу ПИВОМ 
|
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 19:35 Заголовок повідомлення: |
|
|
PmS NeoN писав(ла): |
А мож на какой нибудь обменнитк закинуть версию в SQLе????? |
А я в чем написал?
Это и есть SQL.
Только его немного, по этому тут и написал, а не в отдельном файле, который пришлось бы куда-то заливать.
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 02 Липень 2009 19:40 Заголовок повідомлення: |
|
|
Огромное спасибо!!!!!!
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 02 Липень 2009 20:54 Заголовок повідомлення: |
|
|
А что обозначает IF NOT EXISTS??? Помоему ето лишнее????
ПРосто я больше понимаю в FOXPRo?а его использовать нельзя((((((
Останній раз редагувалося: PmS NeoN (02 Липень 2009 22:08), всього редагувалося 1 раз |
|
Повернутися до початку |
|
 |
napalm Главврач


Статус: Offline Зареєстрований: 11.04.2003 Повідомлення: 9913 Звідки: Киев Моє авто: ЗАЗ-965А
|
Додано: 02 Липень 2009 21:53 Заголовок повідомлення: |
|
|
PmS NeoN писав(ла): |
А что обозначает IF NOT EXISTS??? Помоему ето лишнее???? |
переводится как "если не существует".
то есть создать таблицу, если такой еще нет.
можно опустить.
|
|
Повернутися до початку |
|
 |
PmS NeoN МОDDER

Статус: Offline Зареєстрований: 03.10.2008 Повідомлення: 870 Звідки: Донецк-Ясиноватая Моє авто: был ЗАЗ 968А 77 г.в., Джили СК 08 г.в.,
|
Додано: 02 Липень 2009 22:08 Заголовок повідомлення: |
|
|
Ага, пасиб!
|
|
Повернутися до початку |
|
 |
|
|
Ви не можете починати теми Ви не можете відповідати на повідомлення Ви не можете редагувати свої повідомлення Ви не можете знищити свої повідомлення Ви не можете голосувати в опитуваннях
 |
|
Powered by phpBB © 2001, 2008 phpBB Group
|