evgeniy74
Дата: 31.01.2013 00:41:22
Это таблица ВСП
USE [Инкассация]
GO
/****** Объект: Table [dbo].[ВСП] Дата сценария: 01/31/2013 00:29:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ВСП](
[id_ВСП] [nchar](10) NOT NULL,
[Номер_ВСП] [nchar](10) NULL,
[Адрес] [varchar](max) NULL,
[Режим_работы] [varchar](50) NULL,
[Время_заезда] [varchar](50) NULL,
[Телефон] [char](10) NULL,
[id_сотрудника] [char](10) NULL,
[id_маршрута] [char](10) NULL,
CONSTRAINT [PK_ВСП] PRIMARY KEY CLUSTERED
(
[id_ВСП] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[ВСП] WITH CHECK ADD CONSTRAINT [FK_ВСП_Маршруты] FOREIGN KEY([id_маршрута])
REFERENCES [dbo].[Маршруты] ([id_маршрута])
GO
ALTER TABLE [dbo].[ВСП] CHECK CONSTRAINT [FK_ВСП_Маршруты]
GO
ALTER TABLE [dbo].[ВСП] WITH CHECK ADD CONSTRAINT [FK_ВСП_Сотрудники] FOREIGN KEY([id_сотрудника])
REFERENCES [dbo].[Сотрудники] ([id_сотрудника])
GO
ALTER TABLE [dbo].[ВСП] CHECK CONSTRAINT [FK_ВСП_Сотрудники]
Так выглядит таблица сотрудники
USE [Инкассация]
GO
/****** Объект: Table [dbo].[Сотрудники] Дата сценария: 01/31/2013 00:30:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Сотрудники](
[id_сотрудника] [char](10) NOT NULL,
[Фамилия] [varchar](50) NULL,
[Имя] [varchar](50) NULL,
[Отчество] [varchar](50) NULL,
[Дата_рождения] [smalldatetime] NULL,
[Паспорт] [text] NULL,
[Адрес_регистрации] [text] NULL,
[Адрес_проживания] [text] NULL,
[id_должности] [char](10) NULL,
[id_подразделения] [char](10) NULL,
CONSTRAINT [PK_Сотрудники] PRIMARY KEY CLUSTERED
(
[id_сотрудника] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Сотрудники] WITH CHECK ADD CONSTRAINT [FK_Сотрудники_Должности] FOREIGN KEY([id_должности])
REFERENCES [dbo].[Должности] ([id_должности])
GO
ALTER TABLE [dbo].[Сотрудники] CHECK CONSTRAINT [FK_Сотрудники_Должности]
GO
ALTER TABLE [dbo].[Сотрудники] WITH CHECK ADD CONSTRAINT [FK_Сотрудники_Список_подразделений] FOREIGN KEY([id_подразделения])
REFERENCES [dbo].[Список_подразделений] ([id_подразделения])
GO
ALTER TABLE [dbo].[Сотрудники] CHECK CONSTRAINT [FK_Сотрудники_Список_подразделений]
Это маленькая таблица с должностями
USE [Инкассация]
GO
/****** Объект: Table [dbo].[Должности] Дата сценария: 01/31/2013 00:34:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Должности](
[id_должности] [char](10) NOT NULL,
[Должность] [varchar](50) NOT NULL,
[Оклад] [char](10) NULL,
CONSTRAINT [PK_Должности_1] PRIMARY KEY CLUSTERED
(
[id_должности] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
Это запрос к этим таблицам
use Инкассация
SELECT (f.Фамилия + ' ' + f.Имя+' ' + f.Отчество) AS ФИО
,id_должности ,
Номер_ВСП, Адрес,Телефон,Маршруты.Номер_маршрута
FROM ВСП
INNER JOIN
Маршруты ON Маршруты.id_маршрута = ВСП.id_маршрута
INNER JOIN
Сотрудники AS f ON f.id_сотрудника = ВСП.id_сотрудника
WHERE Маршруты.id_маршрута LIKE '%1%'
ORDER BY Номер_ВСП, Номер_маршрута
Так выглядит результат
Соколова Татьяна Сергеевна 7 3967/077 р/п Дергачи, ул.Центральная 23 2-45-78 001/1
Не могу заставить в столбце id_должности отобразить колонку с наименованием должности [Должность] [varchar](50) NOT NULL,
evgeniy74
Дата: 31.01.2013 08:03:01
Alexander2,
Я. пробовал так вот что выходит:
use Инкассация
SELECT (f.Фамилия + ' ' + f.Имя+' ' + f.Отчество) AS ФИО
,id_должности , D.Должность
Номер_ВСП, Адрес,Телефон,Маршруты.Номер_маршрута
FROM ВСП
INNER JOIN Должности AS D ON D.id_должности = ВСП.id_должности
INNER JOIN
Маршруты ON Маршруты.id_маршрута = ВСП.id_маршрута
INNER JOIN
Сотрудники AS f ON f.id_сотрудника = ВСП.id_сотрудника
WHERE Маршруты.id_маршрута LIKE '%1%'
ORDER BY Номер_ВСП, Номер_маршрута
Сообщение 207, уровень 16, состояние 1, строка 6
Недопустимое имя столбца "id_должности".
Сообщение 209, уровень 16, состояние 1, строка 3
Неоднозначное имя столбца "id_должности".
Alexander2
Дата: 31.01.2013 12:51:45
Гость333,
да, блин, так оформлено сообщение, что в глазах рябит... ;) ошибся малость. Но чел. все равно не просекает принцип.
evgeniy74
Дата: 01.02.2013 01:07:17
Alexander2,
Саныч, завтра всё попробую ещё раз, поле Должность конечно можно и убрать, но это диплом поэтому хотелось бы разобраться.