我想通过加入7个表创建一个视图。我也创建了,但它没有显示我用来加入的真实表格中的任何数据。
在第一天,我通过仅加入2个表来创建视图。它运行良好并显示数据,
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
示例数据:
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
有人可以找出并帮助我在哪里做错了吗?
答案 0 :(得分:0)
如果没有表格定义,很难建议选项。
首先,您应该连接两个表来创建视图,并在连接条件中一次添加另一个表,并测试视图无法显示预期结果。
您还可以使用LEFT JOIN
并在查询末尾添加group by
子句,看看会发生什么......
示例:
使用LEFT JOIN
并在查询末尾添加group by d.dd_metric_config_id
。