Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 当两个表中不存在所有值时,如何修复两个表的完全外部联接_Sql_Presto - Fatal编程技术网

Sql 当两个表中不存在所有值时,如何修复两个表的完全外部联接

Sql 当两个表中不存在所有值时,如何修复两个表的完全外部联接,sql,presto,Sql,Presto,我想加入两张桌子。我要加入的变量之一是国家名称。但是,其中一个表有值,而另一个表没有所有值。这将生成没有所有数据的空行 这就是我目前正在尝试的 select 'display' as channel, date, market, revenue, spend from ( select trim(market) as market, date, revenue from table_a ) ABC FULL JOIN ( select case geosegmentatio

我想加入两张桌子。我要加入的变量之一是国家名称。但是,其中一个表有值,而另一个表没有所有值。这将生成没有所有数据的空行

这就是我目前正在尝试的

select 'display' as channel, date, market, revenue, spend
from (
  select trim(market) as market, date, revenue
  from table_a
) ABC
FULL JOIN (
  select 
    case geosegmentation_countries
      when 'united kingdom' then 'UK'
      when 'germany' then 'DE'
      when 'france' then 'FR'
      when 'italy' then 'IT'
      when 'spain' then 'ES'
      else 'Other'
    end as market, 
    date, 
    spend
  from table_b
) OM on ABC.market = OM.market and ABC.date = OM.Date
ABC
表在市场中没有“其他”值。这是给我这个输出,空白日期和市场。


如何修复此连接,以便其他市场数据具有正确的日期,而“其他”数据则填写在
market
列中?

您正在
market
上加入并返回它。我不清楚为什么要使用
完全联接
(您的解释建议使用
左联接
,但不清楚哪个表包含您想要的所有行)

也就是说,要获取
“其他”
,请在外部
中使用选择:

select 'display' as channel, date,
       coalesce(market, 'other') as market,
       revenue, spend

我们需要样本表数据和匹配的预期结果。(作为格式化文本,而不是图像。)在您的问题中没有表被称为
DBM
。非常感谢!我完全同意,左联会更好。现在我终于理解了合并函数!