1

我在 mysql 中有 15 个具有不同列数的表。列数范围从 225 到 250。我每天从 15 个不同的 CSV 文件中导入数据。

所有表都有 19 个公共列,在特定日期具有相同的值,并且 3 个公共列的组合可以充当主键。

我需要从 15 个表中获取数据而不重复以将其显示为报告。这该怎么做?

参考样本表结构如下:

<html>
<table cellpadding="0" cellspacing="auto" border="1" class="display" id="example" width="100%">
            <thead>
                <tr>
                        <th>Start time </th>
                        <th>End time </th>
                        <th>Query Granularity</th>
                        <th>RNC ID</th>
                        <th>Cell</th>
                        <th>Cellname</th>
                        <th>Access Success Rate Signalling (%)</th>
                        <th>Access Success Rate Speech (%)</th> 
                        <th>Access Success Rate PS (%)</th>
                        <th>Access Success Rate HS (%)</th>
                        <th>Call Drop Rate Speech (%)</th>
                        <th>Call Drop Rate PS (%)</th>
                        <th>Call Drop Rate HS (%)</th>
                        <th>HOSR Speech (%)</th>
                        <th>iRAT HOSR out Speech (%)</th>
                        <th>iRAT HOSR out PS R99 (%)</th>
                        <th>number of rab establishment success for speech</th> 
                        <th>number of rab establishment success for PS</th>
                        <th>number of rab establishment success for HS  </th>
                        <th>number of CS call drop  </th>


                </tr>
            </thead>

            <tbody>
</table>
</html>
4

1 回答 1

1

如前所述,您需要有一个共同的列数才能进行 UNION 查询。要删除 UNION 语句周围的重复项,请使用 SELECT DISTINCT <columna columnb > 语句。

select distinct columna columnb from    
(   
    select subcol0a columna, subcol0b columnb, '', '' from table0    
        union
    select subcol1a columna, subcol1b columnb, '', '' from table1 
 )  as query0
where <some condition>  

只需为子查询中的各个列设置别名,以便它们在外部 SELECT 中收集时匹配。

于 2012-10-22T14:31:29.050 回答