dw_rpt_report60010105049才是明细表
时间: 2023-08-02 21:12:17 浏览: 60
非常抱歉,我理解错了,dw_rpt_report60010105049是明细表。那么,如果明细表中的tran_country字段不是唯一的,你可以考虑使用子查询的方式,将明细表中的tran_country字段聚合成唯一的记录,然后再与主表进行关联。
例如,你可以使用以下 SQL 语句将明细表中的tran_country字段聚合成唯一的记录,并将结果保存到一个子查询中:
```
SELECT char2, MAX(char3) AS char3
FROM orsuser_kara.para_nationality
GROUP BY char2
```
然后,你可以将主表与子查询进行关联,这样就可以避免使用非唯一的tran_country字段:
```
INSERT OVERWRITE TABLE dw_rpt_report60010105049
SELECT COALESCE(n.char3, dw.tran_country) AS tran_country, dw.col2, dw.col3, ...
FROM dw_rpt_report60010105049 dw
LEFT JOIN (
SELECT char2, MAX(char3) AS char3
FROM orsuser_kara.para_nationality
GROUP BY char2
) n ON dw.tran_country = n.char2
WHERE n.char2 IS NOT NULL;
```
这样做的好处是,可以避免明细表中的tran_country字段出现重复值时导致结果发散的问题。同时,使用子查询的方式也可以提高 SQL 查询的效率。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)