Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Postgresql 连接两个表-在两个单独的条件下过滤_Postgresql_Join_Filter - Fatal编程技术网

Postgresql 连接两个表-在两个单独的条件下过滤

Postgresql 连接两个表-在两个单独的条件下过滤,postgresql,join,filter,Postgresql,Join,Filter,我有两张桌子: 表1 Customer|Seller Currency|Invoice #|Invoice Currency ABC |USD |123 |MXP 我有第二张桌子,在那里我存储客户的银行账户 表2 Customer | Bank Account | Currency ABC | BANK1 | MXP ABC | BANK2 | INP ABC | BANK3 |

我有两张桌子: 表1

Customer|Seller Currency|Invoice #|Invoice Currency

ABC     |USD            |123      |MXP
我有第二张桌子,在那里我存储客户的银行账户

表2

Customer | Bank Account | Currency
ABC      | BANK1        | MXP
ABC      | BANK2        |  INP
ABC      | BANK3        |  USD
我希望连接这两个表,以便在创建仪表板时可以显示以下内容:

如果客户ABC有发票货币的银行账户,则显示该银行账户(在这种情况下,结果为bANK1)

如果客户没有发票货币的银行账户,则显示客户货币的银行账户(在本例中为Bank3

其他任何内容都显示“没有有效的银行帐户”


当我加入我的表格时,它会带来多个记录……我如何才能做到这一点?

让我们调用您的两个表格
客户发票
客户账户

您可以将以下查询与两个
LEFT JOIN
一起使用(因此,如果没有银行帐户,我们仍然保留左侧数据,一个
GROUP BY
(如果某人在给定货币中有多个银行帐户,我们不会全部显示):

您将获得:

customer | seller_currency | invoice_number | invoice_currency | chosen_bank_account :------- | :-------------- | -------------: | :--------------- | :------------------ ABC | USD | 123 | MXP | BANK1 客户|卖方|货币|发票|编号|发票|货币|所选|银行|账户 :------- | :-------------- | -------------: | :--------------- | :------------------ ABC |美元| 123 | MXP |银行1 您可以在DBFIDLE上检查整个设置


参考资料:


您使用的是什么数据库?到目前为止您尝试了什么? customer | seller_currency | invoice_number | invoice_currency | chosen_bank_account :------- | :-------------- | -------------: | :--------------- | :------------------ ABC | USD | 123 | MXP | BANK1