2015-08-17 2 views
2

Я хочу создать представление, объединив 7 таблиц. Я также создал, но он не показывает никаких данных из реальных таблиц, которые я использую для присоединения.Создание представления SQL путем соединения 7 Таблицы

На первом месте я создал вид, присоединившись только к двум таблицам. Он работал отлично, и данные, показывающие,

CREATE VIEW tbi_dd_detail_view AS 
SELECT 
    d.dd_metric_config_id, 
    d.metric_name, 
    d.keywords, 
    d.domain_id, 
    d.is_active, 
    c.dd_query_id, 
    c.datasource_id, 
    c.query, 
    c.virtual_query_name 
FROM 
    tbi_dd_config_master d 
     JOIN 
    tbi_dd_custom_query_config c ON d.dd_metric_config_id = c.dd_metric_config_id 

Sample данные:

enter image description here Подобным же образом я создал представление для 7 таблиц. Он создан, но не показывает каких-либо данных

CREATE VIEW tbi_dd_detail_view AS 
    SELECT 
     d.dd_metric_config_id, 
     d.metric_name, 
     d.keywords, 
     d.domain_id, 
     d.is_active, 
     d.created_by, 
     d.created_date, 
     c.dd_query_id, 
     c.datasource_id, 
     c.query, 
     c.virtual_query_name, 
     v.dd_dataview_id, 
     v.dataview_id, 
     b.dd_dashboard_id, 
     b.dashboard_id, 
     r.dd_report_id, 
     r.report_id, 
     r.report_type_name, 
     r.virtual_report_name, 
     t.dd_table_view_id, 
     t.data_source_id, 
     t.table_view_id, 
     t.virtual_table_name, 
     w.dd_webservice_id, 
     w.password, 
     w.username, 
     w.virtual_webservice_name, 
     w.webservice_url 
    FROM 
     tbi_dd_config_master d 
      JOIN 
     tbi_dd_custom_query_config c ON d.dd_metric_config_id = c.dd_metric_config_id 
      JOIN 
     tbi_dd_dataview_config v ON d.dd_metric_config_id = v.dd_metric_config_id 
      JOIN 
     tbi_dd_dashboard_config b ON d.dd_metric_config_id = b.dashboard_id 
      JOIN 
     tbi_dd_report_config r ON d.dd_metric_config_id = r.dd_metric_config_id 
      JOIN 
     tbi_dd_table_view_config t ON d.dd_metric_config_id = t.dd_metric_config_id 
      JOIN 
     tbi_dd_webservice_config w ON d.dd_metric_config_id = w.dd_metric_config_id 

Я искал некоторые ссылки и пытались другой подход, чтобы создать вид, но, к сожалению, я в конечном итоге с таким же результатом

CREATE VIEW tbi_dd_detail_view AS 
    SELECT 
     d.dd_metric_config_id, 
     d.metric_name, 
     d.keywords, 
     d.domain_id, 
     d.is_active, 
     d.created_by, 
     d.created_date, 
     c.dd_query_id, 
     c.datasource_id, 
     c.query, 
     c.virtual_query_name, 
     v.dd_dataview_id, 
     v.dataview_id, 
     b.dd_dashboard_id, 
     b.dashboard_id, 
     r.dd_report_id, 
     r.report_id, 
     r.report_type_name, 
     r.virtual_report_name, 
     t.dd_table_view_id, 
     t.data_source_id, 
     t.table_view_id, 
     t.virtual_table_name, 
     w.dd_webservice_id, 
     w.password, 
     w.username, 
     w.virtual_webservice_name, 
     w.webservice_url 
    FROM 
     tbi_dd_config_master d, 
     tbi_dd_custom_query_config c, 
     tbi_dd_dataview_config v, 
     tbi_dd_dashboard_config b, 
     tbi_dd_report_config r, 
     tbi_dd_table_view_config t, 
     tbi_dd_webservice_config w 
    WHERE 
     d.dd_metric_config_id = c.dd_metric_config_id 
      AND d.dd_metric_config_id = v.dd_metric_config_id 
      AND d.dd_metric_config_id = b.dashboard_id 
      AND d.dd_metric_config_id = r.dd_metric_config_id 
      AND d.dd_metric_config_id = t.dd_metric_config_id 
      AND d.dd_metric_config_id = w.dd_metric_config_id 

Может кто-то пожалуйста, выяснить и помогите мне, где я поступаю неправильно?

Регистрация с 3 таблицами и выход:
enter image description here

+0

Можете ли вы показать данные образца? – Jens

+1

Какой у вас такой стол? Разве вы не можете собрать его за один стол за раз? – e4c5

+0

Да, мы можем сделать и в отдельной таблице, так как данные больше мы выбрали для разделения таблиц и присоединения к ним при извлечении данных. – arch

ответ

0

Без определения таблицы, трудно предложить варианты.

Сначала вы должны присоединиться к двум таблицам, чтобы создать представление и добавить еще одну таблицу за раз в условие соединения и проверить, в какой момент представление не отображает ожидаемый результат.

Вы также можете использовать LEFT JOIN и добавить group by пункт в конце запроса и посмотреть, что происходит ..

Пример:

Использование LEFT JOIN и добавить group by d.dd_metric_config_id в конце запроса.

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