【发布时间】:2017-03-20 15:13:18
【问题描述】:
我有以下 TSQl 语句,它使用链接服务器从 sage 检索销售订单,但我不明白为什么这行 JrnlHdr.TransactionDate = cast(GETDATE()) 会给我任何错误。我可以在没有JrnlHdr.TransactionDate = cast(GETDATE()) 的情况下检索所有记录,但我只想查看今天创建的销售订单。
这里是选择语句
SELECT * FROM OPENQUERY([SAGE],'SELECT DISTINCT Customers.CustomerID, Customers.Customer_Bill_Name, Customers.WhichShipVia,
LineItem.ItemID as I, JrnlHdr.INV_POSOOrderNumber, JrnlHdr.CustomerInvoiceNo,
JrnlHdr.Comment2, JrnlHdr.ShipByDate, JrnlHdr.GoodThruDate, JrnlHdr.CustomerSONo, JrnlHdr.Reference, JrnlHdr.TransactionDate,
JrnlRow.DistNumber, CAST (JrnlRow.Quantity AS NUMERIC (20,4)), LineItem.ItemID, LineItem.SalesDescription, LineItem.PartNumber, LineItem.Category, LineItem.ItemClass, LineItem.ItemDescription
FROM Customers
INNER JOIN JrnlHdr
ON Customers.CustomerRecordNumber = JrnlHdr.CustVendId
LEFT OUTER JOIN Address
ON Customers.CustomerRecordNumber = Address.CustomerRecordNumber
INNER JOIN JrnlRow
ON JrnlHdr.PostOrder = JrnlRow.PostOrder
INNER JOIN LineItem
ON JrnlRow.ItemRecordNumber = LineItem.ItemRecordNumber
WHERE JrnlHdr.JrnlKey_Journal = 11 AND JrnlHdr.TransactionDate = cast(GETDATE()) AND JrnlHdr.PostOrder = JrnlRow.PostOrder AND JrnlHdr.CustVendId = Customers.CustomerRecordNumber AND JrnlRow.ItemRecordNumber = LineItem.ItemRecordNumber AND JrnlHdr.POSOisClosed = 0')
这是我收到的错误消息
用于链接服务器“SAGE”的 OLE DB 提供程序“PervasiveOLEDB.11.0” 返回消息“处理过程中出现一个或多个错误 命令。”。用于链接服务器的 OLE DB 提供程序“PervasiveOLEDB.11.0” “SAGE”返回消息“[Pervasive][ODBC 引擎接口]语法 错误:N JrnlHdr.PostOrder = JrnlRow.PostOrder INNER JOIN LineItem ON JrnlRow.ItemRecordNumber = LineItem.ItemRecordNumber WHERE JrnlHdr.JrnlKey_Journal = 11 和 JrnlHdr.TransactionDate = cast(GETDATE()
【问题讨论】:
标签: sql-server tsql join getdate