Sql программирование, не выдает данные - Компьютерные вопросы

Вопрос Sql программирование, не выдает данные

Регистрация
11 Июл 2013
Сообщения
99
Репутация
-3
Спасибо
0
Монет
0
Подскажите, написал код для выборка из нескольких таблиц, соединение с помощью FROM и WHERE. Но выдает пустые названия столбцов, а данных никаких нет.
218982592_dacb19c0e86624edaa833bd7d26663f0_800.png

 
Регистрация
3 Май 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Смотрите строку WHERE — там логическая ошибка
 
Регистрация
23 Мар 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
join используй для соединения.
SELECT *
FROM table-1
JOIN table-2 ON table-1.parameter=table-2.parameter
WHERE table-1.parameter IS ‘myData’
 
Регистрация
15 Дек 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
Вот смотри, у тебя условие отбора WHERE f.Фамилия = prot.Сущность_нарушения; То есть отбираются только те записи, в которых фамилия сотрудника РАВНА сущности нарушения. Очевидно, что таких нет, и поэтому вывод пуст.

Условие должно быть на одинаковые поля в двух таблицах, а это, опять-таки очевидно, ID_протокола. И не суть важно, фильтровать через WHERE или через JOIN, хотя методологически второй способ более правильный: SELECT f.Фамилия, f.Имя, f.Отчество, f.Звание, prot.Сущность_нарушения
FROM Сотрудник AS f INNER JOIN Протокол AS prot ON f.ID_протокола = prot.ID_протокола; В WHERE надо ставить дополнительные условия, не обусловленные связями между таблицами, например отбор по дате нарушения.

Правда, возникает огромный вопрос, что делает поле ID_протокола в таблице "Сотрудник" и почему нет поля ID_сотрудник в таблице "Протокол".
 
Сверху Снизу