Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SELECT * FROM Sales AS C2 WHERE Cust_Id = Customers.Cust_Id; - выводится ошибка об отсутствии колонки Customers.Cust_Id

Дмитрий Крайзер Ученик (180), закрыт 4 года назад
ввожу запрос: SELECT * FROM Sales AS C2 WHERE Cust_Id = Customers.Cust_Id;
и выводится ошибка: Unknown column 'Customers.Cust_Id' in 'where clause'. Не могу понять почему так происходит, ведь в таблице Customers присутствует колонка Cust_Id, знаю что можно использовать соединения или подзапросы, но хочется понять почему этот пример не работает
Лучший ответ
Александр Искусственный Интеллект (290757) 4 года назад
Customers.Cust_Id означает что ты выбираешь из таблицы Customers
где в твоём коде написано про таблицу эту?

зато написано Sales AS C2
рыли? на кой фикус?
Дмитрий КрайзерУченик (180) 4 года назад
Какая разница зачем я написал Sales AS C2? Почему бы SQL не взять данные из другой таблицы? Они же в одной базе данных находятся
Остальные ответы
Xman Xmango Мыслитель (7685) 4 года назад
Так ты херню написал. Ты пытаешься задать поиск по ID, и подсовываешь мусклу целую колонку, как ей узнать какой ИД брать из неё ? Задавай конкретные значения для ID.
Дмитрий КрайзерУченик (180) 4 года назад
Пусть выведет все равные Id, с подзапросами и соединениями работает
Дмитрий КрайзерУченик (180) 4 года назад
этот пример по сути аналог SELECT * FROM Sales AS C2 WHERE C2.Cust_Id IN (SELECT Cust_Id FROM Customers);
Вот так и пиши.
Ярослав Искусственный Интеллект (107837) 4 года назад
SELECT * FROM Sales LEFT JOIN Customers ON Sales.Cust_Id = Customers.Cust_Id ?
А, только после ответа я прочел описание)) Предыдущий ответ уже объясняет ошибку.
Похожие вопросы