在Postgresql中从左到右连接所有行
这里有两个表,分销商和域名,我希望所有分销商都与他们拥有的域名.extensions对应(即使extension count为零) 问题是,此查询只返回扩展计数不为null的经销商在Postgresql中从左到右连接所有行,sql,postgresql,left-join,Sql,Postgresql,Left Join,这里有两个表,分销商和域名,我希望所有分销商都与他们拥有的域名.extensions对应(即使extension count为零) 问题是,此查询只返回扩展计数不为null的经销商 SELECT row_number() over (order by 1) as id, *, 123 as total FROM crosstab( $$ select domain_name.invoicing_party , domain_name.extension_id, count(*) as
SELECT row_number() over (order by 1) as id, *, 123 as total FROM crosstab(
$$
select domain_name.invoicing_party , domain_name.extension_id, count(*) as total
from reseller LEFT JOIN domain_name
ON domain_name.invoicing_party_id = reseller.id
where domain_name.registration_date::date = '2015-05-25'
group by extension_id,invoicing_party
order by invoicing_party, extension_id
$$,
$$ SELECT m FROM generate_series(1,9) m $$
) AS (
invoicing_party varchar, "com" varchar, "my" varchar, "idn" varchar, "net" varchar,
"org" varchar, "edu" varchar, "mil" varchar, "gov" varchar, "name" varchar
) ;
任何帮助都是很有价值的
编辑1
即使我删除where子句,即使这样,我也只得到那些拥有一些域扩展的经销商。列
注册日期
来自哪个表?(在一个查询中,总是用多个表限定列是一种很好的编码方式——这样就不需要这种问题了)它是域名。注册日期,我将进行编辑。然后将条件从where
移动到on
子句。在外部联接表上设置where
条件可以有效地将外部联接转换为内部联接。例如,请参见此处:我已经尝试过了,但它仍然没有带来所有的分销商,结果集中没有出现一个计数为null的分销商。我可能需要在查询中分别满足空条件。列注册\u date
来自哪个表?(在一个查询中,总是用多个表限定列是一种很好的编码方式——这样就不需要这种问题了)它是域名。注册日期,我将进行编辑。然后将条件从where
移动到on
子句。在外部联接表上设置where
条件可以有效地将外部联接转换为内部联接。例如,请参见此处:我已经尝试过了,但它仍然没有带来所有的分销商,结果集中没有出现一个计数为null的分销商。我可能需要在查询中分别满足空条件。列注册\u date
来自哪个表?(在一个查询中,总是用多个表限定列是一种很好的编码方式——这样就不需要这种问题了)它是域名。注册日期,我将进行编辑。然后将条件从where
移动到on
子句。在外部联接表上设置where
条件可以有效地将外部联接转换为内部联接。例如,请参见此处:我已经尝试过了,但它仍然没有带来所有的分销商,结果集中没有出现一个计数为null的分销商。我可能必须在查询中单独满足null条件。