我想在我的mysql数据库中选择一些行,我有3个结构不同的表(但每个表都有相同的列“ command”),我尝试使用自己创建的脚本进行工作,但这似乎我的脚本花了太多行。<?php$check1 = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'");$check2 = mysqli_query($con, "SELECT * FROM sticker WHERE keyword='$string'");$check3 = mysqli_query($con, "SELECT * FROM image WHERE keyword='$string'");if(mysqli_num_rows($check1) == 0 && mysqli_num_rows($check2) == 0 && mysqli_num_rows($check3) == 0) { echo "success";}?>还有另一种方法可以缩短我的脚本吗?谢谢你 :)
2 回答
FFIVE
TA贡献1797条经验 获得超6个赞
使用mysqlJOIN
子句。这将返回3个表中的所有数据,并且您将结果与单个数据集进行交互。
SELECT * FROM table1 JOIN table2 ON table1.keyword = table2.keyword JOIN table3 ON table3.keyword = table1.keyword;
并且如果两个表中都有相似的列,则在从查询返回它们时需要对它们进行别名化,以防止发生冲突。
SELECT table1.column, table2.column FROM table1 JOIN table2 ON table1.keyword = table2.keyword JOIN table3 ON table3.keyword = table1.keyword;
- 2 回答
- 0 关注
- 123 浏览
添加回答
举报
0/150
提交
取消