我正在学习SQL并需要一些建议。这当前显示我需要它,但我也想要回显tw.model_id和model.id之间没有匹配的所有其他字段。如果有多个customer_name,我将如何创建一个列表,非常感谢任何建议。
$sql = "SELECT * FROM tw
INNER JOIN model
ON model.id=tw.model_id
WHERE tw.completed = 1 AND tw.stock = 0
ORDER BY model.id";
$result = $conn->query($sql);
echo "<table cellspacing='0px' cellpadding='10px' align='center' width='100%'><tr>";
while($row = $result->fetch_assoc()) {
echo "<td width='7%' style='border:1px solid grey;'> " . $row["model_name"] . "<br />" . $row["quantity"] . "<br />";
echo $row["customer_name"] . "<br /></td>";
}
echo "</tr></table>";
需要显示如下:
|Model1 |Model2 |Model3
|10 |4 |6
|Joe Bloggs | |Jane Doe
目前它不显示Model2列,因为它没有模型ID和客户名称之间的匹配。
表格布局
模型
id
model_name
quantity
TW
id
model_name
customer_name
model_id
model_name匹配两个表 model.id匹配tw.model_id
答案 0 :(得分:1)
答案 1 :(得分:0)
将您的查询更改为:
SELECT * FROM tw
OUTER JOIN model
ON model.id=tw.model_id
WHERE tw.completed = 1 AND tw.stock = 0
ORDER BY model.id
外部联接将完全满足您的需求,即&#34;我还想回应tw.model_id和model.id&#34;之间不匹配的所有其他字段。