 |
สอบถามเรื่องการ Join ตารางแล้ว ผลของชื่อตารางอื่นไม่ออก |
|
 |
|
|
 |
 |
|
ตอบปัญหาแรกก่อน ในกรณีที่ไม่แสดงชื่อนักเรียนและโรงเรียน เพราะดูจาก SQL Statment จะดึงข้อมูลมาแค่จำนวนนักเรียนค่าเดียวเท่านั้นครับ
Code
$query1 = " SELECT count(tbl_data1.id) AS total
FROM tbl_data1
INNER JOIN tbl_member AS m ON (tbl_data1.m_id = m.m_id)
INNER JOIN tbl_school as t ON (t.sc_id = m.m_scho)
GROUP BY tbl_data1.m_id ";
สำหรับการดึงข้อมูลนักเรียน และชื่อโรงเรียน ลองใช้ GROUP_CONCAT(), CONCAT() และ sub query ครับ
ลองดูนะครับว่าทำงานได้ไหม ยังไม่ได้ทดสอบ
Code (PHP)
$query1 = " SELECT GROUP_CONCAT(stName SEPARATOR ',') as student_name
, GROUP_CONCAT(sc_name SEPARATOR ',') as school_name
, count(id) AS total
FROM (
SELECT tbl_data1.id
, CONCAT(m.m_firstname,'',m.m_name,' ',m.m_lastname) as stName
, t.sc_name
, tbl_data1.m_id
FROM tbl_data1
INNER JOIN tbl_member AS m ON (tbl_data1.m_id = m.m_id)
INNER JOIN tbl_school as t ON (t.sc_id = m.m_scho)
) as a
GROUP BY m_id ";
|
 |
 |
 |
 |
Date :
2021-07-25 11:08:43 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอดู DDL statements หรือ จำลองตัวอย่างข้อมูลมา 3-5 เรคอร์ด (ทุกตาราง)
|
 |
 |
 |
 |
Date :
2021-07-25 17:34:09 |
By :
TheGreatGod_of_Death |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 5 เขียนโดย : chayaphol เมื่อวันที่ 2021-07-26 09:57:40
รายละเอียดของการตอบ ::
อ้าว ก็ข้อมูลออกมาแล้วนี่ครับ ลองดูครับ
Code (PHP)
<?PHP
$query = " SELECT GROUP_CONCAT(stName SEPARATOR ',') as student_name
, GROUP_CONCAT(sc_name SEPARATOR ',') as school_name
, count(id) AS total
FROM (
SELECT tbl_data1.id
, CONCAT(m.m_firstname,'',m.m_name,' ',m.m_lastname) as stName
, t.sc_name
, tbl_data1.m_id
FROM tbl_data1
INNER JOIN tbl_member AS m ON (tbl_data1.m_id = m.m_id)
INNER JOIN tbl_school as t ON (t.sc_id = m.m_scho)
) as a
GROUP BY m_id ";
$result = mysqli_query($conn, $query);
$numStudent = mysqli_num_rows($result);
?>
<h1>จำนวนสมาชิก <?PHP echo number_format($numStudent); ?> คน</h1>
<table>
<thead>
<tr>
<th>รายชื่อนักเรียน</th>
<th>ชื่อโรงเรียน</th>
<th>จำนวนนักเรียน</th>
</tr>
</thead>
<tbody>
<?PHP
while ($row = mysqli_fetch_array($result)) {
?>
<tr>
<td>
<?PHP
echo str_replace(',', '<br>', $row['student_name']);
?>
</td>
<td>
<?PHP
echo $row['school_name'];
?>
</td>
<td>
<?PHP
echo number_format($row['total']);
?>
</td>
</tr>
<?PHP } ?>
</tbody>
</table>
|
 |
 |
 |
 |
Date :
2021-07-26 15:53:51 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|