Новичок
Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.12.2006
Репутация: нет Всего: нет
|
Ребята... Извините, что вас потревожил. Я студент. Сделал базу данных очень классную (я знаю, что здесь есть немного ошибки то в тригерах (т.е. связи визитки и общей инфо) то еще в пару местах.... просто не было времени их делать, все-равно защищу). Вроде как все защитил, все сделал. Итак, защита на 5. А вот на практике я оказался в тупике.... Было две задачи 1 Найти 10 % самых распространенных профессий 2 Написать про заказчиков страну и компании в этой стране по определенной схеме Цитата | (Россия Газпром ТНК Великобритания BP OLD LADY )
|
Первое легко сделал, а вот второй в тупике оказался........ Т.е. допустим, я написал Цитата | select Страна,[Имя компании] into usefulinfo from [Заказчики услуг]
|
А дальше не знаю.... Думал, что так надо Цитата | select Страна,[Имя компании] from usefulinfo group by 1
|
Но не правильно.... Ошибка, что типа можно где используется count, max и т.д. Цитата | select Страна,count( [Имя компании]) as [Количество компаний в стране] from [Заказчики услуг] group by 1
|
Я в тупике.... Помогите пожалуйста... Как сделать этот запрос... Я сдавал досрочно.... Предполагаю, что опять будет аналогичный вопрос... Я бюджетник и отличник... И не хочу 4. Плиз ребята, мы ведь с вами коллеги, и когда-нибудь я вам в ответ смогу помочь... Это мне надо на завтра Вот и сама БД Цитата |
USE master GO CREATE DATABASE REKLAMA ON ( NAME = reklama_dat, FILENAME = 'C:\Documents and Settings\123\reklama.mdf', SIZE = 4, MAXSIZE = 20, FILEGROWTH = 1 ) GO USE REKLAMA CREATE TABLE [Список должностей] ( IDДолжности tinyint IDENTITY(1,1) PRIMARY KEY, Название char(40) UNIQUE NOT NULL, Обязанности char(250) NOT NULL, Зарплата money NOT NULL, CONSTRAINT зарплата CHECK (Зарплата between 3000 and 150000) ) CREATE TABLE [Штат продажников] ( IDПродавца smallint IDENTITY(1,1) PRIMARY KEY, Фамилия char(20) NOT NULL, Имя char(15) NOT NULL, Отчество char(30) NOT NULL, Город char(25) NOT NULL, [Субъект РФ] char(25) NOT NULL, Улица char(25) NOT NULL, Дом smallint NOT NULL, Корп tinyint NULL, Квартира smallint NOT NULL, Индекс int NULL, [Телефон рабочий] decimal NULL, [Телефон мобильный] decimal UNIQUE NOT NULL, [Телефон домашний] decimal UNIQUE NOT NULL, [e-mail] char(40) UNIQUE NOT NULL, [дата принятия на работу] datetime NOT NULL, IDдолжности tinyint REFERENCES [Список должностей]([IDДолжности]) NOT NULL, CONSTRAINT [Внутреняя связь] CHECK ([Телефон рабочий] between 100 and 600), CONSTRAINT [Внешняя связь] CHECK ([Телефон домашний] between 1000000 and 9999999), CONSTRAINT [Мобильная связь] CHECK ([Телефон мобильный] between 80000000000 and 89999999999), CONSTRAINT [Индекс] CHECK (Индекс between 100000 and 999999)
) CREATE TABLE [форма оплаты] ( [IDФормы оплаты] tinyint IDENTITY(1,1) PRIMARY KEY, Описание char(20) NOT NULL ) CREATE TABLE Условия ( IDУсловия smallint IDENTITY(1,1) PRIMARY KEY, [Цена приобретения] money NOT NULL CONSTRAINT [Ценник] CHECK ([Цена приобретения]>0) ) CREATE TABLE [Статус заказа] ( [IDСтатус заказа] tinyint IDENTITY(1,1) PRIMARY KEY, Описание char(20)NOT NULL ) CREATE TABLE [Контактное лицо-поставщик] ( [IDКонтактного лица] smallint IDENTITY(1,1) PRIMARY KEY, Фамилия char(20) NOT NULL, Имя char(15) NOT NULL, Отчество char(30) NULL, [Телефон рабочий] int NOT NULL, [Телефон мобильный] decimal NULL, [Телефон домашний] decimal NULL, [e-mail] char(30) UNIQUE NULL, CONSTRAINT [Внутреняя связь2] CHECK ([Телефон рабочий] between 1000000 and 99999999), CONSTRAINT [Внешняя связь2] CHECK ([Телефон домашний] between 1000000 and 9999999), CONSTRAINT [Мобильная связь2] CHECK ([Телефон мобильный] between 80000000000 and 89999999999) ) CREATE TABLE [Поставщики услуг-визитка] ( IDПоставщика smallint IDENTITY(1,1) PRIMARY KEY, [Имя компании] char(25) UNIQUE NOT NULL, [IDКонтактного лица] smallint REFERENCES [Контактное лицо-поставщик]([IDКонтактного лица]) NOT NULL, Город char(30) NOT NULL, Телефон decimal NOT NULL, [e-mail] char(30) UNIQUE NULL, Web char(30) UNIQUE NULL, CONSTRAINT Телефон CHECK (Телефон between 1000000 and 99999999)
) CREATE TABLE [Поставщики услуг] ( IDПостащика smallint IDENTITY(1,1) PRIMARY KEY, [Имя компании] char(20) UNIQUE NOT NULL, [IDКонтактного лица] smallint REFERENCES [Контактное лицо-поставщик]([IDКонтактного лица]) NOT NULL, Страна char(20) NOT NULL, Город char(25) NOT NULL, Улица char(15) NOT NULL, Дом smallint NOT NULL, Офис smallint NOT NULL, Индекс int NULL, Телефон int UNIQUE NOT NULL, Факс decimal UNIQUE NULL, [e-mail] char(40) UNIQUE NULL, Web char(30) UNIQUE NULL, ИНН decimal UNIQUE NOT NULL, КПП decimal UNIQUE NOT NULL, CONSTRAINT [Индекс2] CHECK (Индекс between 100000 and 999999), CONSTRAINT ИНН CHECK (ИНН between 1000000000 and 9999999999), CONSTRAINT КПП CHECK (КПП between 100000000 and 999999999), CONSTRAINT Телефон2 CHECK (Телефон between 1000000 and 9999999), CONSTRAINT Факс CHECK (Факс between 1000000 and 9999999) ) CREATE TABLE [Контактное лицо-заказчик] ( [IDКонтактного лица] smallint IDENTITY(1,1) PRIMARY KEY, Фамилия char(20) NOT NULL, Имя char(15) NOT NULL, Отчество char(30) NULL, [Телефон рабочий] int NOT NULL, [Телефон мобильный] decimal NULL, [Телефон домашний] decimal NULL, [e-mail] char(30) UNIQUE NULL, CONSTRAINT [Внутреняя связь3] CHECK ([Телефон рабочий] between 1000000 and 99999999), CONSTRAINT [Внешняя связь3] CHECK ([Телефон домашний] between 1000000 and 9999999), CONSTRAINT [Мобильная связь3] CHECK ([Телефон мобильный] between 80000000000 and 89999999999) ) CREATE TABLE [Заказчики услуг-визитка] ( IDЗаказчика smallint IDENTITY(1,1) PRIMARY KEY, [Имя компании] char(25) UNIQUE NOT NULL, [IDКонтактного лица] smallint REFERENCES [Контактное лицо-заказчик]([IDКонтактного лица]) NOT NULL, Город char(30) NOT NULL, Телефон decimal NOT NULL, [e-mail] char(30) UNIQUE NULL, Web char(30) UNIQUE NULL, CONSTRAINT Телефон10 CHECK (Телефон between 1000000 and 99999999)
) CREATE TABLE [Заказчики услуг] ( IDЗаказчика smallint IDENTITY(1,1) PRIMARY KEY, [Имя компании] char(20) UNIQUE NOT NULL, [IDКонтактного лица] smallint REFERENCES [Контактное лицо-заказчик]([IDКонтактного лица]) NOT NULL, Страна char(20) NOT NULL, Город char(25) NOT NULL, Улица char(15) NOT NULL, Дом smallint NOT NULL, Офис smallint NOT NULL, Индекс int NULL, Телефон int UNIQUE NOT NULL, Факс decimal UNIQUE NULL, [e-mail] char(40) UNIQUE NULL, Web char(30) UNIQUE NULL, ИНН decimal UNIQUE NOT NULL, КПП decimal UNIQUE NOT NULL, CONSTRAINT [Индекс3] CHECK (Индекс between 100000 and 999999), CONSTRAINT ИНН2 CHECK (ИНН between 1000000000 and 9999999999), CONSTRAINT КПП2 CHECK (КПП between 100000000 and 999999999), CONSTRAINT Телефон4 CHECK (Телефон between 1000000 and 9999999), CONSTRAINT Факс2 CHECK (Факс between 1000000 and 9999999) ) CREATE TABLE Заказ ( IDЗаказа smallint IDENTITY(1,1) PRIMARY KEY, IDЗаказчика smallint REFERENCES [Заказчики услуг-визитка](IDЗаказчика) NOT NULL, IDПродавца smallint REFERENCES [Штат продажников](IDПродавца) NOT NULL, [День заказа] datetime NOT NULL, [День исполнения] datetime NULL, [IDФорма оплаты] tinyint REFERENCES [Форма оплаты]([IDФормы оплаты]) NOT NULL, [IDСтатус заказа] tinyint REFERENCES [Статус заказа]([IDСтатус заказа]) NOT NULL ) CREATE TABLE [Вид рекламы] ( IDНаименование smallint IDENTITY(1,1) PRIMARY KEY, Наименование char(35) NOT NULL, IDПоставщик smallint REFERENCES [Поставщики услуг-визитка]([IDПоставщика]) NOT NULL, Стоимость money NOT NULL, IDУсловия smallint REFERENCES Условия(IDУсловия) NOT NULL, CONSTRAINT [Ценник2] CHECK (Стоимость>0) ) CREATE TABLE [Книга продаж] ( IDЗаказа smallint REFERENCES [Заказ](IDЗаказа) NOT NULL, IDНаименования smallint REFERENCES [Вид рекламы](IDНаименование) NOT NULL ) INSERT INTO [Форма оплаты] VALUES ('Банкноты') INSERT INTO [Форма оплаты] VALUES ('Кредитная карта') INSERT INTO [Форма оплаты] VALUES ('Банковский перевод') INSERT INTO [Форма оплаты] VALUES ('Заемные средства') INSERT INTO [Статус заказа] VALUES ('Принято') INSERT INTO [Статус заказа] VALUES ('Рассматривается') INSERT INTO [Статус заказа] VALUES ('Распределяется') INSERT INTO [Статус заказа] VALUES ('Выполняется') INSERT INTO [Статус заказа] VALUES ('Выполнено') INSERT INTO [Контактное лицо-заказчик] VALUES ('Пономарев', 'Анатолий','Николаевич',3561264,89216342310,5731274,'[email protected]') INSERT INTO [Контактное лицо-заказчик] VALUES ('Чубайс', 'Дмитрий','Самович',5732363,89115638323,6749274,'[email protected]') INSERT INTO [Контактное лицо-заказчик] VALUES ('Путин', 'Вовочка','Сергеевич',4739241,89012438437,4327854,'[email protected]') INSERT INTO [Контактное лицо-поставщик] VALUES ('Соколов', 'Андрей','Анатольевич','7394312','87643429432','5394021','[email protected]') INSERT INTO [Контактное лицо-поставщик] VALUES ('Плотников', 'Максим','Максимович','4325483','84572937492','5435254','[email protected]') INSERT INTO [Контактное лицо-поставщик] VALUES ('Николаев', 'Олег','Олегович','8784234','84367238473','4543554','[email protected]') INSERT INTO Условия VALUES (1500) INSERT INTO Условия VALUES (3000) INSERT INTO Условия VALUES (3230) INSERT INTO Условия VALUES (4330) INSERT INTO Условия VALUES (5210) INSERT INTO [Список должностей] VALUES ('Консультант', 'Помощь в выборе товара покупателям в соответствии с их потребностям; Заполнение первичной документации',13000) INSERT INTO [Список должностей] VALUES ('Менеджер по продажам', 'Продавцы крупным редприятиям; Обучение младшего персонала науке продаж',30000) INSERT INTO [Список должностей] VALUES ('Директор по продажам', 'Анализирование ситуации и ее прогнозирование; распределение покупателей между менеджерами по продажам',80000) INSERT INTO [Штат продажников] VALUES ('Назаров', 'Олег','Семенович','Санкт-Петербург','Санкт-Петербург','Коломяжская','43','2','544','654343','324','87595432342','6536542','[email protected]','01.01.2003',1) INSERT INTO [Штат продажников] VALUES ('Димидов', 'Дмитрий','Васильевч','Кингисеп','Санкт-Петербург','Менделеева','25','3','124','543234','345','89123342354','8654323','[email protected]','11.02.2003','2') INSERT INTO [Штат продажников] VALUES ('Тимофеев', 'Василий','Максимович','Санкт-Петербург','Санкт-Петербург','Нефтяникова','54','43','653','575933','556','87685432323','8765432','[email protected]','01.01.2003','2') INSERT INTO [Штат продажников] VALUES ('Малов', 'Юрий','Олегович','Кингисеп','Санкт-Петербург','Профессора Попова','54','23','543','653454','234','81233214545','8562316','[email protected]','04.01.2003','1') INSERT INTO [Штат продажников] VALUES ('Мухамадиева', 'Гузаль','Ахмедиева','Санкт-Петербург','Санкт-Петербург','Интернациональная','27','54','375','983153','254','86573429875','3349847','[email protected]','06.23.2003','1') INSERT INTO [Штат продажников] VALUES ('Руднева', 'Анна','Семеновна','Кингисеп','Санкт-Петербург','Бутлерова','65','35','122','654323','234','88885435523','9884323','[email protected]','08.12.2004','1') INSERT INTO [Штат продажников] VALUES ('Кобелев', 'Максим','Бухтакович','Санкт-Петербург','Санкт-Петербург','Ренгена','25','1','542','653234','100','85432212765','7665434','[email protected]','04.28.2005','1') INSERT INTO [Поставщики услуг] VALUES ('ITnews','1','Россия','Санкт-Петербург','Ренгена','25','1','543542','1653234','1543231','[email protected]','www.itnews.com','5432365435','654343265') INSERT INTO [Поставщики услуг] VALUES ('Коммерсант','2','Россия','Санкт-Петербург','Невский','32','2','543422','6546423','6543232','[email protected]','www.kom.com','7545478543','123234223') INSERT INTO [Поставщики услуг] VALUES ('Ведомости','3','Россия','Санкт-Петербург','Кронверский','65','4','467563','7642343','3335432','[email protected]','www.ved.com','1234545432','545434432')
INSERT INTO [Заказчики услуг] VALUES ('Microsoft','1','Россия','Санкт-Петербург','Дыбенко','54','45','543232','6543433','7656343','[email protected]','www.msft.com','3434234325','123456789') INSERT INTO [Заказчики услуг] VALUES ('Borland','2','Россия','Санкт-Петербург','Менделеева','12','23','767879','4322343','6565324','[email protected]','www.borland.com','7465478323','594032345') INSERT INTO [Заказчики услуг] VALUES ('Motorola','3','Россия','Санкт-Петербург','Адмирала','43','4','873454','6776644','9584399','[email protected]','www.mtr.com','2456664435','886543678') INSERT INTO [Заказчики услуг-визитка] ([Имя компании],[IDКонтактного лица],Город,Телефон,[e-mail],Web) SELECT [Имя компании],[IDКонтактного лица],Город,Телефон,[e-mail],Web FROM [Заказчики услуг] INSERT INTO [Поставщики услуг-визитка] ([Имя компании],[IDКонтактного лица],Город,Телефон,[e-mail],Web) SELECT [Имя компании],[IDКонтактного лица],Город,Телефон,[e-mail],Web FROM [Поставщики услуг] INSERT INTO [Вид рекламы] VALUES ('Размещение на первой странице',1,2500,1) INSERT INTO [Вид рекламы] VALUES ('Размещение на послдней странице',1,5000,2) INSERT INTO [Вид рекламы] VALUES ('Размещение вверху страниц',1,6000,3) INSERT INTO [Вид рекламы] VALUES ('Размещение внизу страниц',1,8000,4) INSERT INTO [Вид рекламы] VALUES ('Вложение брошюр',1,10000,5) INSERT INTO [Вид рекламы] VALUES ('Размещение на первой странице',2,2500,1) INSERT INTO [Вид рекламы] VALUES ('Размещение на послдней странице',2,5000,2) INSERT INTO [Вид рекламы] VALUES ('Размещение вверху страниц',2,6000,3) INSERT INTO [Вид рекламы] VALUES ('Размещение внизу страниц',2,8000,4) INSERT INTO [Вид рекламы] VALUES ('Вложение брошюр',2,10000,5) INSERT INTO [Вид рекламы] VALUES ('Размещение на первой странице',3,2500,1) INSERT INTO [Вид рекламы] VALUES ('Размещение на послдней странице',3,5000,2) INSERT INTO [Вид рекламы] VALUES ('Размещение вверху страниц',3,6000,3) INSERT INTO [Вид рекламы] VALUES ('Размещение внизу страниц',3,8000,4) INSERT INTO [Вид рекламы] VALUES ('Вложение брошюр',3,10000,5) INSERT INTO Заказ VALUES (1,4,'10.10.02','10.12.2002',1,3) INSERT INTO Заказ VALUES (3,4,'10.11.02','10.13.2002',4,2) INSERT INTO Заказ VALUES (2,3,'10.13.02','10.15.2002',3,2) INSERT INTO Заказ VALUES (1,5,'11.16.02','02.02.2002',2,1) INSERT INTO Заказ VALUES (3,5,'11.17.02','02.03.2002',4,3) INSERT INTO [Книга продаж] VALUES (1,1) INSERT INTO [Книга продаж] VALUES (1,3) INSERT INTO [Книга продаж] VALUES (2,2) INSERT INTO [Книга продаж] VALUES (3,1) INSERT INTO [Книга продаж] VALUES (4,3) INSERT INTO [Книга продаж] VALUES (5,1) INSERT INTO [Книга продаж] VALUES (5,2) INSERT INTO [Книга продаж] VALUES (5,3)
select Фамилия, Имя, Отчество from [Штат продажников] where [Дата принятия на работу]<'01.01.2004' and [Телефон рабочий]>300 order by Фамилия
UPDATE [Список должностей] SET Зарплата=Зарплата*1.09
go create procedure новаязарплата @an int as select * from [Список должностей] UPDATE [Список должностей] SET Зарплата=Зарплата*(100+@an)/100 select * from [Список должностей]
go create trigger изменение on Условия after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение2 on [Форма оплаты] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение3 on [Статус заказа] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение4 on [Контактное лицо-заказчик] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение5 on [Контактное лицо-поставщик] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение6 on [Список должностей] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение7 on [Штат продажников] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение8 on [Поставщики услуг] after insert as print 'Данные успешно изменены' insert into [Поставщики услуг-визитка] select [Имя компании],[IDКонтактного лица],Город,Телефон,[e-mail],Web from inserted
go create trigger изменение9 on [Заказчики услуг] after insert as print 'Данные успешно изменены' insert into [Заказчики услуг-визитка] select [Имя компании],[IDКонтактного лица],Город,Телефон,[e-mail],Web from inserted
go create trigger изменение10 on [Вид рекламы] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение11 on [Книга продаж] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение12 on [Заказ] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение13 on [Поставщики услуг-визитка] after insert, update, delete as print 'Данные успешно изменены'
go create trigger изменение14 on [Заказчики услуг-визитка] after insert, update, delete as print 'Данные успешно изменены'
select * from [Контактное лицо-заказчик]
|
Это сообщение отредактировал(а) РустамНМ - 22.12.2006, 01:13
|