【发布时间】:2018-02-12 10:08:42
【问题描述】:
我正在尝试从表中检索数据,我想从表中获取所有行,其中列可能是多个值,即
表一
Id User SiteID
--------------------
1 - Ali - 6
--------------------
2 - Ali - 7
--------------------
3 - Ali - 8
--------------------
4 - Jack - 20
--------------------
因此,从表中可以看出,Ali 拥有站点 6、7、8,而 Jack 仅拥有站点 20。现在我有另一张桌子
表 2
Id Event Location SiteID
-------------------------------------------
1 - Fire - Room 22 - 101
-------------------------------------------
2 - Fault - Reception - 6
-------------------------------------------
3 - Isolation - Student Hall - 7
-------------------------------------------
4 - Bomb Alert - Floor 3 - 8
-------------------------------------------
我想从表 2 中选择数据,其中 SiteID 是 Ali 拥有的站点,即 Ali 的 SiteID 为 6、7、8。
所以最初使用 php 我可以使用以下命令从表 1 中获取记录:
$query="SELECT * FROM Table1 WHERE User='Jack'";
$result = mysqli_query($con,$query) or die(mysql_error());
while($row11=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$site=$row11["SiteID"];
echo $mySite;
}
现在我想从表 2 中选择 SiteID 是分配给 Ali 的站点,即站点 6、7、8。
所以,我尝试了以下方法,但没有完成任务:
$sql_query="SELECT * FROM Table2 WHERE SiteID='$site' ORDER BY Id DESC LIMIT 300";
$result_set=mysqli_query($con,$sql_query);
while($row=mysqli_fetch_array($result_set,MYSQLI_ASSOC))
{
echo $row["Event"];
echo $row["Location"];
}
但是,这并没有给我想要的结果。我想要表 2 中的所有事件和位置,其中站点是 Ali 从表 1 中拥有的站点,因此所需的结果应该给我以下信息。
Id Event Location SiteID
-------------------------------------------
2 - Fault - Reception - 6
-------------------------------------------
3 - Isolation - Student Hall - 7
-------------------------------------------
4 - Bomb Alert - Floor 3 - 8
-------------------------------------------
谁能建议我如何做到这一点。谢谢
【问题讨论】:
-
使用左连接
标签: php mysql sql database mysqli