是否可以使用JOIN创建虚拟表,然后在使用phpmyadmin和php时将该虚拟表用作从中选择的表?如果是这样,如何使用php从该表中进行选择?
编辑:
我尝试使用view myview as <your select statement>
表示创建
但是我遇到一个错误:原子错误:未捕获的错误:调用布尔函数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();
您正在描述一个SQL视图。
这是由SQL查询定义的虚拟表,您可以像查询真实的持久性表一样进行查询。数据库并不物理存储视图,仅存储其定义。查询视图时,数据库将执行在后台定义该视图的SQL语句,并从基础表返回实际数据。
如果有SQL SELECT
查询,则可以使用create view
syntax创建视图:
create view
然后您可以使用常规的create view myview as <your select statement>
语句查询视图:
select