Intereting Posts
Странные символы в ответе http Где сохранено значение для WordPress bloginfo ('stylesheet_url')? Как вы присоединяетесь к двум объектам PDO в одном и том же цикле foreach? Как читать переменные $ _GET с (mod rewrite powered) nice URLs PHP / SQL: ORDER BY или sort ($ array)? Получение вложенной модели набора в <ul>, но скрытие «закрытых» поддеревьев Почему CIUnit необходим для использования PHPUnit с CodeIgniter? PHP. Является ли uniqid («») хорошим практическим решением для создания уникальной и последовательной стороны сервера? Найти внутренние массивы в вложенных массивах Пытаться отобразить адрес сущности из базы данных с веточкой Как я могу прочитать метаданные PNG из PHP? Иногда PHP-сеанс теряется при использовании session_regenerate_id Перенаправление php на основе времени и даты Проблема с изменением размера изображения в PHP – gd создает уродливые измененные изображения Как запустить PHP из командной строки Windows

PHP / MySQL. выбор 2 общих полей в 2 таблицах

Я делаю проект о системе посещаемости с использованием PHP и MySQL. У меня возникают проблемы с синтаксисом SQL. Я хочу отобразить все имена учеников в моей таблице «учеников» и записи из таблицы «посещаемость», но я продолжаю цикл 5 дополнительных записей на моем экране. Это то, что я сделал до сих пор.

SELECT students.name as StudentName, attendance.timelogin as TimeLogin, attendance.datelogin as DateLogin FROM students, attendance WHERE students.strand LIKE '%TVL%' AND students.gender ='Male' AND attendance.datelogin LIKE '%{$month}%' AND attendance.timelogin >= '12' ORDER BY students.name ASC; 

Экран-вывода

Вам нужно добавить условие соединения правильно, поэтому, если у вас есть Id первичного ключа в таблице учеников, а другой учащийся иностранного ключа в таблице посещаемости, используйте его. И используйте синтаксис соединения ANSI следующим образом:

 SELECT s.name as StudentName, a.timelogin as TimeLogin, a.datelogin as DateLogin UPPER(LEFT(status, 1)) AS Status FROM students AS s INNER JOIN attendance AS a ON s.Id = a.StudentId WHERE s.strand LIKE '%TVL%' AND s.gender ='Male' AND a.datelogin LIKE '%{$month}%' AND a.timelogin >= '12' ORDER BY s.name ASC;