SQL查询列表中的select where field = value和otherfield = othervalue

时间:2017-06-05 11:48:33

标签: sql-server tsql

我需要相当快地捏造现有的SQL Server程序。这是一项黑客工作但需要必须。

我需要以下内容来返回凭证代码和发票号码列表,而不仅仅是注释所在的一行数据(在WHERE子句中):

SELECT TOP 10         
    IH.INH_Voucher AS [ID], IH.COY_ID AS COY_ID, 
    IH.INH_DateSupInv AS ORD_UpdatedOn, 
    V.VES_ID, V.VES_IMOnumber, IH.INH_Order,
    IH.INH_ID AS ORD_ID, IH.INH_INDID                    
FROM          
    InvoiceHDR IH (NOLOCK)     
INNER JOIN 
    VESSACCOMP VA ON IH.COY_ID = VA.COY_ID 
INNER JOIN 
    Vessel V ON VA.VES_ID =  V.VES_ID                   
WHERE 
    v.VSS_ID IN ('01') AND 
    (IH.INH_Status >= 20  AND IH.INH_Status <= 40) AND
    --IH.INH_Voucher = '170CH' AND IH.INH_SupInv = '1532' NEED LIST
    IH.INH_INDID IS NOT NULL

所以我需要

Voucher = '1700CH' AND SupInv = '1235' AND
Voucher = '180CH' AND SupInv = '1111' AND

以及许多匹配VoucherCodesInvoiceCodes

我希望这很清楚?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将以下WHERE子句应用于查询:::

WHERE
    v.VSS_ID IN ('01') AND 
    (IH.INH_Status BETWEEN 20 AND 40) AND
    ((IH.INH_Voucher = '170CH' AND IH.INH_SupInv = '1532') 
    OR (IH.INH_Voucher = '180CH' AND IH.INH_SupInv = '1111'))         
    AND IH.INH_INDID IS NOT NULL