首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过连接7个表创建SQL视图

通过连接7个表创建SQL视图
EN

Stack Overflow用户
提问于 2015-08-17 06:36:32
回答 1查看 1.2K关注 0票数 2

我想通过连接7个表来创建一个视图。我也创建了,但它没有显示来自实际表的任何数据。

在第一阶段,我只通过连接两个表来创建视图。它工作得很好,显示了数据,

代码语言:javascript
复制
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  

样本数据:

类似地,我为7个表创建了视图。它创建了,但没有显示任何数据。

代码语言:javascript
复制
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  

我搜索了一些链接并尝试了不同的方法来创建视图,但不幸的是,我最终得到了相同的结果。

代码语言:javascript
复制
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个表和输出:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-17 12:51:34

如果没有表的定义,就很难提出选项。

首先,您应该连接两个表来创建视图,并在联接条件下一次添加另一个表,并测试视图未能显示预期结果。

您还可以在查询结束时使用LEFT JOIN和添加group by子句,看看会发生什么。

示例:

使用LEFT JOIN并在查询结束时追加group by d.dd_metric_config_id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32044108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档