【发布时间】:2014-03-26 20:52:32
【问题描述】:
如果我使用以下 QBSQL 查询从 QuickBooks 获取发票:
SELECT * FROM Invoice WHERE CustomerRef = '123'
然后我成功获取客户编号“123”的所有发票和行项目。
但是,SELECT * 似乎是矫枉过正和不好的做法,所以我尝试获取所有有效列(我可以从中系统地删除我不需要的列):
SELECT Id, SyncToken, MetaData, CustomField, HasAttachment, DocNumber, TxnDate, DepartmentRef, CurrencyRef, ExchangeRate, PrivateNote, TxnStatus, LinkedTxn, Line, TxnTaxDetail, CustomerRef, CustomerMemo, BillAddr, ShipAddr, ClassRef, SalesTermRef, DueDate, ShipMethodRef, ShipDate, TrackingNum, TotalAmt, ApplyTaxAfterDiscount, PrintStatus, EmailStatus, BillEmail, Balance, PaymentType, CheckPayment, CreditCardPayment, DepositToAccountRef, Deposit, AllowIPNPayment FROM Invoice WHERE CustomerRef = '123'
这个较长的查询获取所有发票,但每个发票不包含行项目。
有谁知道如何在不使用 SELECT * 的情况下获取每张发票的所有发票和行项目?
非常感谢您的帮助。
【问题讨论】:
-
QBSQL 在这方面可能与 (T)SQL 完全不同。你确定这真的是一件坏事吗?
-
安德鲁,是的,SELECT * 查询的执行速度比我们显式检索特定列的查询慢得多。
标签: sql api quickbooks intuit-partner-platform quickbooks-online