Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выборка из двух таблиц

82K
18 февраля 2015 года
rom_ursus
7 / / 17.02.2015
Доброго здоровья!

Есть две таблицы (изделия, изготовители), необходимо вывести все данные из первой и одно поле из второй. Во второй (изготовители) таблице перечислены изготовители продуктов, первое поле - счетчик, второе - наименование. В первой таблице (изделия) есть поле "номер изготовителя". Пробую следующий запрос, но ругается ошибкой: The multi-part identifier "изделия.идентификатор" could not be bound.
The multi-part identifier "изделия.номер изготовителя" could not be bound.
The multi-part identifier "изготовители.наименование" could not be bound.

Запрос: "SELECT [изделия].[идентификатор], [изделия].[номер изготовителя], [изготовители].[наименование] FROM [изделия] t1 INNER JOIN [изготовители] t2 ON t1.[номер изготовителя]=t2.[номер изготовителя]"

Сие пытаюсь сделать в MS SQL Server 2012, приложение пишу в C#, VS2012.

Подскажите пожалуйста в какую сторону копать, и про кого курить.
412
18 февраля 2015 года
grgdvo
323 / / 04.07.2007
Ох уже эти русские буквы.... Она же вам ясно пишет, multi-part identifier could not be found.
Может имена в кавычки взять...??! Честно говоря не знаю точно как там в MSSQL
82K
18 февраля 2015 года
rom_ursus
7 / / 17.02.2015
Всегда подозреваю русские буквы, как могу использую латиницу. В данном случае русские названия таблиц содержу в квадратных скобках. [изделия].[изготовитель] и все в таком духе.

Оно то пишет ясно, что could not be bound. Вот как понимать, что оно связать не может.

Спасибо за ответ.

Решил проблему весьма гхм топорно.
SELECT tab1.###, tab1.###, tab2.name FROM tab1, tab2, WHERE tab1.id = tab2.id;

подозревал, что будут проблема, особенно если в первой таблице не везде будут прописаны id из второй. Но вроде бы такая ситуация пока не случается. Надеюсь, что я буду разбираться с этим костылём а не кто то другой.
412
19 февраля 2015 года
grgdvo
323 / / 04.07.2007
Упс... я прочитал found... прошу прощения.
Исправляясь, скажу, что вы неправильно использовали алиасы для таблиц.
Вот здесь на мой взгляд доходчиво все поясняется.
http://www.sql-server-helper.com/error-messages/ms...
82K
19 февраля 2015 года
rom_ursus
7 / / 17.02.2015
Благодарю.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог