Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выдает ошибку при компиляции, не помогла даже смена языка текста / 7 сообщений из 7, страница 1 из 1
28.12.2018, 01:01
    #39754270
Gromalex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
CREATE TABLE Продавец (Код_продавца INTEGER PRIMARY KEY, ФИО TEXT, График TEXT, Зарплата INTEGER, Код_ПВТ INTEGER); 

INSERT INTO Продавец VALUES (1, 'Паршивлюк Зинаида Павловна', '5к2', 38000, 1); 

INSERT INTO Продавец VALUES (2, 'Громов Олег Павлович', '1к1', 35000, 2); 

INSERT INTO Продавец VALUES (3, 'Музыкин Сергей Адольфович', '2к2', 33000, 3); 

INSERT INTO Продавец VALUES (4, 'Сталин Адольф Ахмедович', '1к1', 36000, 4); 

INSERT INTO Продавец VALUES (5, 'Васильев Сергей Михайлович', '2к1', 40000, 5);

CREATE TABLE Заказ (Код_заказа INTEGER PRIMARY KEY, Номер_Заказа INTEGER, Дата_Заказа DATE, Вес_заказа_в_кг INTEGER, Код_продавца INTEGER, Код_покупателя INTEGER, Код_товара INTEGER, Код_склада INTEGER);

INSERT INTO Заказ VALUES (1, 1488, '27.12.2018', 2.1, 1, 1, 8, 1);

INSERT INTO Заказ VALUES (2, 1400, '20.12.2018', 1.2, 2, 2, 10, 2);

INSERT INTO Заказ VALUES (3, 1499, '28.12.2018', 0.3, 3, 3, 5, 3);

INSERT INTO Заказ VALUES (4, 1473, '26.12.2018', 0.6, 4, 5, 1, 4);

INSERT INTO Заказ VALUES (5, 1485, '27.12.2018', 5.7, 5, 1, 4, 5);

INSERT INTO Заказ VALUES (6, 1465, '25.12.2018', 0.2, 1, 4, 2, 1);

INSERT INTO Заказ VALUES (7, 1423, '23.12.2018', 1.9, 2, 3, 7, 2);

SELECT Код_продавца, ФИО, Код_ПВТ FROM Продавец INNER JOIN Заказ ON Продавец.Код_продавца = Заказ.Код_продавца;



Вроде сделал все правильно, но мне выдает ошибку Error: near line 101: ambiguous column name: Код_продавца
...
Рейтинг: 0 / 0
28.12.2018, 01:17
    #39754275
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
Gromalexambiguous column nameПеревести пробовали?

P.S. Зачем вам русскоязычные имена объектов? Вас 1С-ник укусил?
...
Рейтинг: 0 / 0
28.12.2018, 01:22
    #39754276
Gromalex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
miksoft, да, я пробовал написать все атрибуты на английском, но ошибка точь-в-точь такая же (нет, не кусал ;d)
...
Рейтинг: 0 / 0
28.12.2018, 01:27
    #39754277
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
Gromalex
Код: plsql
1.
SELECT Код_продавца, ФИО, Код_ПВТ FROM Продавец INNER JOIN Заказ ON Продавец.Код_продавца = Заказ.Код_продавца;

В секции SELECT поле Код_продавца из какой таблицы? Тут неоднозначность, поэтому надо явно указать.
...
Рейтинг: 0 / 0
28.12.2018, 01:30
    #39754279
Gromalex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
miksoftGromalex
Код: plsql
1.
SELECT Код_продавца, ФИО, Код_ПВТ FROM Продавец INNER JOIN Заказ ON Продавец.Код_продавца = Заказ.Код_продавца;

В секции SELECT поле Код_продавца из какой таблицы? Тут неоднозначность, поэтому надо явно указать.
Естественно из таблицы Продавец, я указал через запятые атрибуты, которые мне нужны при совмещении таблиц и указал откуда берутся все 3 атрибута.
...
Рейтинг: 0 / 0
28.12.2018, 01:30
    #39754280
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
Gromalex,

Код: sql
1.
2.
3.
SELECT Код_продавца -- тут mysql не знает, этот столбец из какой таблицы, первой или второй?

, ФИО, Код_ПВТ FROM Продавец INNER JOIN Заказ ON Продавец.Код_продавца = Заказ.Код_продавца;



Поэтому

Код: sql
1.
2.
3.
4.
SELECT t1.Код_продавца, t1.ФИО, t1.Код_ПВТ
FROM Продавец  t1
INNER JOIN Заказ  t2
ON t1.Код_продавца = t2.Код_продавца;



Но и так неправильно. Вам нужно продавцов, у которых были заказы, а Вы на каждую строку из таблицы заказов будете выдавать несколько одинаковых строк из таблицы продавцов.

Так что окончательный вариант

Код: sql
1.
2.
3.
4.
SELECT t1.Код_продавца, t1.ФИО, t1.Код_ПВТ
FROM Продавец  t1
where exists (select t2.Код_продавца from 
Заказ  t2 where t1.Код_продавца = t2.Код_продавца);
...
Рейтинг: 0 / 0
28.12.2018, 01:35
    #39754283
Gromalex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выдает ошибку при компиляции, не помогла даже смена языка текста
Andy_OLAPGromalex,

Код: sql
1.
2.
3.
SELECT Код_продавца -- тут mysql не знает, этот столбец из какой таблицы, первой или второй?

, ФИО, Код_ПВТ FROM Продавец INNER JOIN Заказ ON Продавец.Код_продавца = Заказ.Код_продавца;



Поэтому

Код: sql
1.
2.
3.
4.
SELECT t1.Код_продавца, t1.ФИО, t1.Код_ПВТ
FROM Продавец  t1
INNER JOIN Заказ  t2
ON t1.Код_продавца = t2.Код_продавца;



Но и так неправильно. Вам нужно продавцов, у которых были заказы, а Вы на каждую строку из таблицы заказов будете выдавать несколько одинаковых строк из таблицы продавцов.

Так что окончательный вариант

Код: sql
1.
2.
3.
4.
SELECT t1.Код_продавца, t1.ФИО, t1.Код_ПВТ
FROM Продавец  t1
where exists (select t2.Код_продавца from 
Заказ  t2 where t1.Код_продавца = t2.Код_продавца);


Спасибо, Всемогущий, без вас не справился бы, + вам в карму и + сданная сегодня сессия
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выдает ошибку при компиляции, не помогла даже смена языка текста / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]