Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 在like语句中连接字符串_Sql_Sql Server 2008 - Fatal编程技术网

Sql 在like语句中连接字符串

Sql 在like语句中连接字符串,sql,sql-server-2008,Sql,Sql Server 2008,我有一个要获取的字段,但当我尝试将“%”连接到该字段时,我将找不到匹配项 以下是完整的查询: SELECT dbo.SALESQUOTATIONTABLE.CUSTACCOUNT AS 'Account_Number__c', dbo.SALESQUOTATIONTABLE.BUSRELACCOUNT AS 'Business_Relation_Number__c', SALESQUOTATIONTABLE.DIMENSION2_ AS 'Division__c',

我有一个要获取的字段,但当我尝试将“%”连接到该字段时,我将找不到匹配项

以下是完整的查询:

SELECT
    dbo.SALESQUOTATIONTABLE.CUSTACCOUNT AS 'Account_Number__c',
    dbo.SALESQUOTATIONTABLE.BUSRELACCOUNT AS 'Business_Relation_Number__c',
    SALESQUOTATIONTABLE.DIMENSION2_ AS 'Division__c',
    QUOTATIONEXPIRYDATE AS 'Expiration__c',
    PMF_NOOFITEMS AS 'Number_of_Items__c',
    CREATEDDATE AS 'Quote_Date__c',
    SALESQUOTATIONTABLE.QUOTATIONID AS 'Quote_Number_Ext_ID__c',
    SALESQUOTATIONTABLE.QUOTATIONID AS 'Name',
    SALESQUOTATIONTABLE.PAYMENT AS 'Terms__c',
    SALESGROUP AS 'Territory__c',
    dbo.SALESQUOTATIONTABLE.BUSRELACCOUNT AS 'Account_CBusiness_Relation_Number__c',
    CASE dbo.SALESQUOTATIONTABLE.QUOTATIONSTATUS
        WHEN 0 THEN 'Created'
        WHEN 1 THEN 'Sent'
        WHEN 2 THEN 'Confirmed'
        WHEN 3 THEN 'Lost'
        WHEN 4 THEN 'Cancelled'
        WHEN 5 THEN 'Won'
        ELSE 'Unknown' END AS 'Quote_Status__c',
    '"' + REPLACE(NAME, '"', '') + '"' AS 'Contact_Name__c',
    PHONE AS 'Contact_Phone__c',
    Replace(dbo.CONTACTPERSON.EMAIL,',',' ') AS 'Contact_Email__c',
    PMF_RFQRECEIVEDDATE AS 'Quote_Recieved_Date__c',
    PMF_QUOTESENTDATE AS 'Quote_Sent_Date__c',
    Replace(PGMNAME,',',' ') AS 'Program_Name__c',
    Replace(OEM,',',' ') AS 'OEM_c',
    (SELECT TOP 1(NAME) from USERINFO where SALESQUOTATIONTABLE.SalesTaker = USERINFO.NETWORKALIAS) as 'Pricing_Specialist_c',
    SALESQUOTATIONTABLE.CustomerRef as 'Customer_Reference__c',
SalesQuotationTable.pmf_SalesQuoteComment as 'Sales_Quote_Comment__c',
SalesQuotationTable.QuotationCategory as 'Quotation_Type__c',
(select Max(CUSTQUOTATIONJOUR.QuotationDate) from CUSTQUOTATIONJOUR where SALESQUOTATIONTABLE.QUOTATIONID like CUSTQUOTATIONJOUR.QUOTATIONDOCNUM +'%')  as 'Quotation_Date__c'       
FROM
    dbo.SALESQUOTATIONTABLE 
LEFT OUTER JOIN 
    dbo.CONTACTPERSON ON dbo.SALESQUOTATIONTABLE.CONTACTPERSONID = dbo.CONTACTPERSON.CONTACTPERSONID
--LEFT OUTER JOIN CUSTQUOTATIONJOUR on SALESQUOTATIONTABLE.QUOTATIONID like  (CUSTQUOTATIONJOUR.QUOTATIONDOCNUM +'%')
WHERE
    CREATEDDATE >= CONVERT(VARCHAR(10), GETDATE() - 30, 101)
    OR
    --Only update quotes that were created in 2013 or after
    (MODIFIEDDATE >= CONVERT(VARCHAR(10), GETDATE() - 30, 101)
    AND
    YEAR(CREATEDDATE) > 2012)
我尝试使用的部分是:

(select Max(CUSTQUOTATIONJOUR.QuotationDate) from CUSTQUOTATIONJOUR where SALESQUOTATIONTABLE.QUOTATIONID like CUSTQUOTATIONJOUR.QUOTATIONDOCNUM +'%')  as 'Quotation_Date__c'
表中的数据如下(作为示例)

我从date获得结果(我只需要最新的,因此是Max()

然而,在子查询中提交的日期只返回空值,即使我验证了确实存在匹配项

CUSTQUOTATIONJOUR.QUOTATIONDOCNUM +'%'

正确吗?

我倒着吃了类似的东西:

(select Max(CUSTQUOTATIONJOUR.QuotationDate) from CUSTQUOTATIONJOUR where CUSTQUOTATIONJOUR.QUOTATIONDOCNUM like SALESQUOTATIONTABLE.QUOTATIONID +'%'  )  as 'Quotation_Date__c'    

请尝试使用
CUSTQUOTATIONJOUR.QUOTATIONDOCNUM+'-%'
if-在我认为是反向的情况下是一致的。请尝试像CUSTQUOTATIONJOUR.QUOTATIONID+'%这样的SALESQUOTATIONTABLE.QUOTATIONDOCNUM
(select Max(CUSTQUOTATIONJOUR.QuotationDate) from CUSTQUOTATIONJOUR where CUSTQUOTATIONJOUR.QUOTATIONDOCNUM like SALESQUOTATIONTABLE.QUOTATIONID +'%'  )  as 'Quotation_Date__c'