我有三张桌子; 表1(约会),其中包含YYYY-MM-DD HH:MM:SS格式,提供商ID,客户ID和服务ID的约会开始和结束时间。 表2(用户)包含提供者和客户ID以及名/姓。 表3(服务)包含服务ID,服务名称和服务描述。
我需要创建一个第四个表,名为display,,它将以HH:MM格式显示提供者名称,客户端名称,服务名称以及开始和结束时间。
我尝试使用谷歌搜索联接,但我似乎没有到达任何地方。 我正在使用w3schools的简单脚本,如下:
<?php
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM ea_appointments INNER JOIN ea_services";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Start: " . $row["start_datetime"]. "End: " . $row["end_datetime"]. " - Provider: " . $row["id_users_provider"]. " - Customer: " . $row["id_users_customer"]. " - Service: " . $row["id_services"]."<br>";
}
} else {
echo "0 appointments";
}
$conn->close();
?>
答案 0 :(得分:0)
在这种情况下,不要创建表,因为您只想组合来自各种表的数据。只需查询或创建view。
在查询中,您需要告诉mysql如何使用on
子句连接表。我将向您展示如何加入2个表格,剩下的由您决定:
SELECT *
FROM ea_appointments a
INNER JOIN ea_services s on a.serviceid=s.serviceid
答案 1 :(得分:-1)
我假设以下表格:
用户(ProviderID,CustomerID,ProviderName,CustomerName)
服务(ServiceID,ServiceName,ServiceDescr)
约会(StartTime,EndTime,ProviderID,CustomerID,ServiceID)
这样的事情能为你效劳吗?
select ProviderName, CustomerName, ServiceName, StartTime, EndTime
from appointments as a join users as u join services as s
where a.CustomerID = u.CustomerID
and a.ProviderID = u.ProviderID
and a.ServiceID = s.ServiceID