Мне нужно отобразить два столбца из моей таблицы посещаемости (MEMBER_ID & MEETING_ID) и один столбец из моей таблицы встреч и, наконец, два столбца из моей таблицы-члена, которая отображает имена, соответствующие MEETING_ID.Выбор столбцов из разных таблиц
В таблице посещаемости имеет составной ключ (member_id *, MEETING_ID *)
первичный ключ таблицы-члена является member_id
первичный ключ таблицы Meeting является MEETING_ID
Моя попытка не работает, может кто-то, пожалуйста, помогите?
SELECT MEMBER_ID, MEETING_ID, MEETING_NAME MEMBER_FIRSTNAME, MEMBER_LASTNAME
FROM ATTENDANCE, MEMBER, MEETING
WHERE MEETING.MEMBER_ID = MEETING.MEMBER_ID;
Конечный результат должен быть:
MEMBER_ID MEETING_ID MEETING_NAME FIRSTNAME LASTNAME
0001 MEET0004 SPORTS DAY JOHN SMITH
Несколько вещей ... предложение WHERE, как вы его написали, всегда верно, поэтому вы можете удалить его. Вероятно, вы имели в виду MEETING.MEMBER_ID = ATTENDANCE.MEMBER_ID; но вам также нужно условие соединения между УЧАСТНИКОМ и ЧЛЕНОМ. Тогда будет лучше, если вы используете синтаксис соединения SQL Standard (ATTENDANCE join Join (on)) присоединяется к MEMBER on (condition) ...). Наконец, вам нужна только одна строка в результате или ВСЕ соответствующие строки? Если только одна строка, вы, вероятно, пропустили какое-то условие WHERE, например MEMBER_ID = ... О, и в SELECT вам нужно указать, из какой таблицы вы хотите поля – mathguy
Я понимаю, что ответ FallAndLearn работает для вас, но вы действительно должен начать использовать Explict Join Syntax, а не подразумевать, потому что вы не можете выполнить внешнее соединение с Implicit и потому, что Explicit уже существует в течение нескольких десятилетий как стандарт ANSI. – Matt