Mehrere Antwortdaten in einer Antwort zurückgeben
In Ihrem PHP-Code haben Sie eine Abfrage, die mehrere Datenzeilen aus einer Datenbanktabelle abruft . Sie erhalten jedoch mehrere Antworten und möchten diese zu einer einzigen Antwort mit mehreren Datensätzen zusammenführen.
Um dies zu erreichen, müssen Sie Ihre Abfrage ändern, um einen Links-Join für die erforderlichen Tabellen durchzuführen. Anstatt Studentendaten abzurufen, rufen Sie Fachdaten ab und beziehen die relevanten Studenteninformationen mithilfe von Linksverknüpfungen ein. Dadurch können Sie verwandte Daten aus mehreren Tabellen in einer einzigen Antwort einschließen.
Hier ist ein Beispiel der aktualisierten Abfrage:
<code class="php">$sql = 'SELECT subjects.userid, users.name AS username, ( SELECT id FROM tbsubjects WHERE userid = subjects.userid ORDER BY id ASC LIMIT 1 ) AS subjectsid, ( SELECT name FROM tbsubjects WHERE userid = subjects.userid ORDER BY time DESC LIMIT 1 ) AS subjectname, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND month = DATE_FORMAT(NOW(), "%c") ) AS activepts, IFNULL(SUM(subjects.points), 0) AS totalpts, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND semester = 1 ) AS sem1, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND semester = 2 ) AS sem2, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND semester = 3 ) AS sem3 FROM tbsubjects AS subjects LEFT JOIN tbusers AS users ON users.id = subjects.userid WHERE subjects.userid = :userid GROUP BY subjects.userid ORDER BY subjects.time DESC';</code>
In dieser Abfrage:
Nach dem Ausführen dieser Abfrage erhalten Sie eine einzelne Antwort mit mehreren Subjektdatensätzen , jeweils mit den notwendigen Schülerinformationen und berechneten Werten.
Das obige ist der detaillierte Inhalt vonWie rufe ich mehrere Datensätze und die zugehörigen Daten in einer einzigen MySQL-Abfrage ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!