2014-10-10 3 views
0

Я использую это, чтобы создать представление запроса в MYSQL:данных отсутствующих создать вид запрос в MYSQL

create view services_view as 
SELECT `innovation_name`,`link`,`category`,`brief_description` FROM `innovation_db` 
WHERE `category`= "Service" 

Это заканчивается делая вид со всеми нужными столбцами, но нет никаких данных. Если я просто запускаю запрос без представления представления, он отображает все нужные данные.

Что я здесь делаю неправильно?

Спасибо за любой совет.

+0

Вам нужно создать представление только один раз, а вы просто вызовите представление, как обычный стол – 4EACH

+0

Можете ли вы объяснить это немного больше? – jonmrich

+0

Просмотрите способ определения запроса один раз и вызовите представление вместо таблицы, вы не можете вставлять строки или обновлять представление, что более удобно, если у вас есть запрос между несколькими таблицами, и вы не будете писать один и тот же огромный запрос каждый раз. представление имеет безопасное преимущество, которое вы разделяете между представлением и данными. -> SELECT * FROM services_view <- здесь вы вызываете представление, а не в таблицу, вы получаете фильтрованную «таблицу» по категориям = «Сервис» – 4EACH

ответ

1

Затем нужно запустить

SELECT * FROM services_view 

для извлечения данных.

+0

Когда я запускаю это, я ничего не получаю. Я должен уметь взглянуть на представление, которое я создал в myphpadmin, и посмотреть данные, правильно? В представлении, которое я создаю, нет строк, но столбцы правильно созданы. – jonmrich

+1

попытайтесь запустить 'CREATE ИЛИ REPLACE VIEW services_view AS ...' для обеспечения сохранения последнего запроса и повторного запуска 'SELECT * FROM services_view'. Представления не хранят данные, они просто вызывают оператор select за представлением каждый раз, когда вы его запрашиваете. – rogi1609

+0

Это все еще не сработало. Вот чего я не понимаю. Я создал другое представление, используя это: 'create view WPPlugin as select brief_description, CONCAT ('', innovation_name, '') FROM inno_db' Если я перейду к этому представлению в myphpadmin, я увижу все строки с полными данными. Если я сделаю то же самое для запроса, над которым мы сейчас работаем, в каких-либо строках нет данных. Что происходит? – jonmrich

Смежные вопросы