Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объединение таблиц  [new]
smuchka
Member

Откуда:
Сообщений: 33
CREATE TABLE _Order(
id int IDENTITY(1,1) PRIMARY KEY,
dateOrder date not null,
numberTable tinyint,
idWaiter int CONSTRAINT FK_Order_idWaiter FOREIGN KEY REFERENCES _Employer(id) not null,
ammount smallmoney)

CREATE TABLE _Course(
id int IDENTITY(1,1) PRIMARY KEY,
name varchar(50),-- Select name from _Recipe where idRecipe == _Recipe(id)
firstCost money)

CREATE TABLE OrderCourse(
idOrder int FOREIGN KEY REFERENCES _Order(id) not null,
idCourse int FOREIGN KEY REFERENCES _Course(id) not null,
countCourseInOrder int not null)

мне необходимо их объединить по id соответственно. Насколько я знаю - это возможно с помощью join(+ left или right ), вот написал запрос, но ...!! внутренний запро выполняется корректно, а вот внешний выдает error The multi-part identifier "ct.id" could not be bound.

select *
from (select idCourse, countCourseInOrder, dateOrder, numberTable,idWaiter,ammount
from OrderCourse oc left join _Order o on o.id = oc.idOrder) oc
left join _Course сt on ct.id = oc.idCourse

подскажите пожалуйста в чем причина. или, возможно, другое решение моей задачи.
Заранее спасибо!
12 янв 10, 12:30    [8170269]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблиц  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
smuchka
подскажите пожалуйста в чем причина
В том, что в своем запросе Вы написали сt.id с участием каких-то нелатинских букаф
12 янв 10, 12:41    [8170349]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблиц  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
А зачем столько SELECTов? Почему нельзя обойтись одним?
Может, у Вас ct набрано неанглийскими буквами?
12 янв 10, 12:42    [8170353]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблиц  [new]
smuchka
Member

Откуда:
Сообщений: 33
спасибо. да было набрано некорректно.
12 янв 10, 12:51    [8170436]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблиц  [new]
smuchka
Member

Откуда:
Сообщений: 33
iap,спасибо.
а как возможно реализовать одним select-ом ? неопытен, подскажи..
12 янв 10, 12:53    [8170452]     Ответить | Цитировать Сообщить модератору
 Re: Объединение таблиц  [new]
guy_zol
Guest
Например так:
select *
from OrderCourse oc
left join _Order o on o.id = oc.idOrder
left join _Course ct on ct.id = oc.idCourse
Хотя, возможно если это просто связь много ко многим то лефт-джойны можно заменить просто иннер-джойнами.
13 янв 10, 11:04    [8175675]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить