Могу ли я выбрать виртуальную таблицу, ее данные и использовать ее для других вещей с php? - PullRequest
0 голосов
/ 26 апреля 2020

Можно ли создать виртуальную таблицу с JOIN, а затем использовать эту виртуальную таблицу в качестве таблицы для SELECT FROM при использовании phpmyadmin и php? Если да, то как мне go выбрать, выбрав из этой таблицы php?

РЕДАКТИРОВАТЬ:

Я пытаюсь использовать view myview as <your select statement>, что говорит создать

, но я получаю сообщение об ошибке: atal error: Uncaught Error: вызов функции-члена fetch_asso c () в bool

Вот код:

        $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 Ответ

0 голосов
/ 26 апреля 2020

Вы описываете SQL представление.

Это виртуальная таблица, которая определяется запросом SQL, и которую вы можете запрашивать так же, как если бы вы запрашивали реальную постоянную таблицу. База данных физически не хранит представление, только его определение. Когда представление запрашивается, база данных выполняет оператор SQL, который определяет представление под капотом, и возвращает фактические данные из базовой таблицы (таблиц).

Если у вас есть SQL SELECT запрос, вы можете создать представление с синтаксисом create view :

create view myview as <your select statement>

Затем вы можете запросить представление с помощью регулярного оператора select:

select * from myview
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...