【发布时间】:2020-08-09 13:01:44
【问题描述】:
是否可以使用 JOIN 创建一个虚拟表,然后在使用 phpmyadmin 和 php 时将该虚拟表用作 SELECT FROM 的表?如果是这样,我该如何使用 php 从该表中进行 SELECTing?
编辑:
我尝试使用view myview as <your select statement> 所说的创建
但我收到一个错误:atal 错误:未捕获的错误:在 bool 上调用成员函数 fetch_assoc()
代码如下:
$sqlEC = "create view myview as <SELECT hobio_id, hobio_pav2 FROM zmogaus_hobiai LEFT JOIN hobiai ON zmogaus_hobiai.hobio_id = hobiai.id WHERE zmogaus_hobiai.zmogaus_id =".$roww[0].">";
$resultEC = $conn -> query($sqlEC);
$var = mysqli_query($conn, $sqlEC);
$rowEC = $resultEC -> fetch_assoc();
$sqlH = "select id, hobio_pav from ".$sqlEC." where not exists (select hobio_id, hobio_pav2 from zmogaus_hobiai where zmogaus_hobiai.hobio_id = hobiai.id and zmogaus_hobiai.hobio_pav2 = hobiai.hobio_pav);";
$resultH = $conn -> query($sqlH);
$rowH = $resultH -> fetch_assoc();
【问题讨论】:
-
(1) 需要去掉
create view语句中select周围的<>。 (2) 直接针对您的数据库运行此 DDL 语句会更简单,例如使用 phpmyadmin,如果这是您正在使用的。 (3) 那你就select ... from myview where ....
标签: php mysql sql join sql-view