Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Помогите сделать SELECT с 3 таблиц


Автор: t0mmy4824 7.4.2012, 22:08
Здравствуйте) 
очень срочно нужен запрос) 
просидел пару часов и не могу ничего придумать) 
диплом горить)
помогите пожалуйста

излагаю суть дела

есть два таблицы и третья, которые соединяет их
в одной хранятся измерения(dimensin) в другой схемы(Schema)
dimOfSch  - таблица которая соединяет их
показывает какие измерения есть в схемах

у меня есть айдишник схемы.. я хочу найти все измерения с таблицы dimensin которых нету в заданой схеме(схему я по айдишнику определяю)

ума не приложу как это сделать 
все измерения любой схемы могу найти, а вот, те, которых нету .... 
помогите пожалуйста 
заранее благодарен 

поиск всех, которые есть, может кому- то поможет
Код

select DIMENSION.name from DIMENSION inner join DIMOFSCH on DIMENSION.idt=DIMOFSCH.idt 
inner join [SCHEMA] on [SCHEMA].idsch = [DIMOFSCH].idsch where [SCHEMA].idsch=1


приложил фотку БД

Автор: Akina 7.4.2012, 23:40
Код

select DIMENSION.name from DIMENSION 
left join DIMOFSCH on (DIMENSION.idt=DIMOFSCH.idt and [SCHEMA].idsch=1)
where [SCHEMA].idsch is null

Автор: t0mmy4824 8.4.2012, 03:00
sql server menegment studio выдает ошибку

Msg 4104, Level 16, State 1, Line 2
The multi-part identifier "SCHEMA.idsch" could not be bound.
Msg 4104, Level 16, State 1, Line 3
The multi-part identifier "SCHEMA.idsch" could not be bound.


Автор: Akina 8.4.2012, 21:23
А запрос из первого поста - он работает?

Автор: t0mmy4824 9.4.2012, 06:32
Цитата(Akina @  8.4.2012,  21:23 Найти цитируемый пост)
А запрос из первого поста - он работает? 

да

Автор: Akina 9.4.2012, 07:37
а, ну да... ночью и не такую хрень напишешь...
Код

select DIMENSION.name 
from DIMOFSCH 
inner join [SCHEMA] 
on ([SCHEMA].idsch = [DIMOFSCH].idsch and [SCHEMA].idsch=1)
right join DIMENSION
on DIMENSION.idt=DIMOFSCH.idt 
where [SCHEMA].idsch is null

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)