Нет результатов от Регистрация в базе данных? - PullRequest
1 голос
/ 01 ноября 2010

Я хочу объединить две таблицы, чтобы получить имя доктора вместо идентификатора.

SELECT Doctors.doct_name,
       Shifts.shift_date,
       Shifts.shift_day,
       Shifts.shift_start,
       Shifts.shift_end
  FROM SHIFTS 
  JOIN Doctors ON Doctors.doct_id = Shifts.doct_id

Столбец отображается, но без результатов, нет данных из базы данных?

Ответы [ 3 ]

2 голосов
/ 01 ноября 2010

Ваш запрос выглядит нормально.

попробуйте два отдельных запроса для проверки основных данных:

select * from Doctors order by doct_id;

и

select * from Shifts order by doct_id;

посмотрите, можете ли вы вручную определить проблему с данными:

1 голос
/ 01 ноября 2010

Попробуйте LEFT JOIN:

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end
  FROM SHIFTS 
  LEFT JOIN Doctors ON Doctors.doct_id = Shifts.doct_id
0 голосов
/ 01 ноября 2010

Попробуйте использовать левое соединение, а также попробуйте использовать условие Where с идентификатором, чтобы проверить, действительно ли существуют доктора в обеих таблицах

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end

ОТ СДВИГОВ ВЛЕВО СОЕДИНЕНИЕ Доктора ВКЛ Doctors.doct_id = Shifts.doct_id

ИЛИ

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end

ОТ СДВИГОВ ВЛЕВО ПРИСОЕДИНЯТЬСЯ Доктора ВКЛ Doctors.doct_id = Shifts.doct_id ГДЕ Doctors.doct_id = [вставить идентификатор доктора здесь - doctor_id]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...