如何基于PostgreSQL中的两列获取指定数据

时间:2018-08-08 09:35:18

标签: sql postgresql

我刚开始用SQL编写查询,并努力从表中获取数据。

我在DB中有一个称为“地址”的表。在这里,我有更多列,特别是从两列中,我需要过滤掉数据。都是整数

  1. frequency_type_id
  2. 发票日期编号

    enter image description here

我只需要获得以下行:frequency_type_id = 1和date_of_invoice_id = 2,frequency_type_id = 2和date_of_invoice_id = 3,frequency_type_id = 3和date_of_invoice_id = 1。

我正在尝试以下查询,但其过滤不正确

SELECT address_id, company_name,  
invoice_batch_billing, frequency_type_id,  date_of_invoice_id
FROM pls.address where invoice_style='Consolidated' 
and frequency_type_id in 
(SELECT frequency_type_id from  pls.address where frequency_type_id=1 and date_of_invoice_id=1);

希望有人帮助。

2 个答案:

答案 0 :(得分:1)

请尝试以下查询:

[{ value: 'whatever'}, ... {n}]

答案 1 :(得分:0)

尝试一下:

SELECT 
    address_id, 
    company_name,
    invoice_batch_billing,
    frequency_type_id,
    date_of_invoice_id
FROM 
    pls.address
WHERE
    frequency_type_id IN (1,2,3) 
AND 
    date_of_invoice_id=2

如果我正确理解了您的问题,那么您的要求就足够了。