Subject Re: [ib-support] Problem with query - very long query
Author Svein Erling Tysvær
Jonathan,
I don't know the reason for your error, but guess it is due to your
excessive use of fields in your group by clause (or more likely, the total
length of the fields). I'd say a subselect would be much more appropriate
in your case, i.e.

SELECT (SELECT SUM( GL_AMOUNT.AMOUNT ) FROM GL_AMOUNT
WHERE ORAFINARITEM.GL_ITEM_ID = GL_AMOUNT.GL_ITEM_ID
AND GL_AMOUNT.GL_MONTH = '200108') AS SUM_OF_AMOUNT,
ORAFINAR.ARID,
ORAFINAR.ACCOUNTING_RULE_DURATION,
ORAFINAR.ACCOUNTING_RULE_ID,
ORAFINAR.ACCOUNTING_RULE_NAME,
ORAFINAR.ACCTD_AMOUNT,
ORAFINAR.ADDRESS_VERIFICATION_CODE,
ORAFINAR.AGREEMENT_ID,
ORAFINAR.AGREEMENT_NAME,
ORAFINAR.AMOUNT,
ORAFINAR.AMOUNT_INCLUDE_TAX_FLAG,
ORAFINAR.APPROVAL_CODE,
ORAFINAR.ATTRIBUTE_CATEGORY,
ORAFINAR.ATTRIBUTE1,
ORAFINAR.ATTRIBUTE2,
ORAFINAR.ATTRIBUTE3,
ORAFINAR.ATTRIBUTE4,
ORAFINAR.ATTRIBUTE5,
ORAFINAR.ATTRIBUTE6,
ORAFINAR.ATTRIBUTE7,
ORAFINAR.ATTRIBUTE8,
ORAFINAR.ATTRIBUTE9,
ORAFINAR.ATTRIBUTE10,
ORAFINAR.ATTRIBUTE11,
ORAFINAR.ATTRIBUTE12,
ORAFINAR.ATTRIBUTE13,
ORAFINAR.ATTRIBUTE14,
ORAFINAR.ATTRIBUTE15,
ORAFINAR.BATCH_SOURCE_NAME,
ORAFINAR.COMMENTS,
ORAFINAR.CONS_BILLING_NUMBER,
ORAFINAR.CONVERSION_DATE,
ORAFINAR.CONVERSION_RATE,
ORAFINAR.CONVERSION_TYPE,
ORAFINAR.CREATED_BY,
ORAFINAR.CREATION_DATE,
ORAFINAR.CREDIT_METHOD_FOR_ACCT_RULE,
ORAFINAR.CREDIT_METHOD_FOR_INSTALLMENTS,
ORAFINAR.CURRENCY_CODE,
ORAFINAR.CUST_TRX_TYPE_ID,
ORAFINAR.CUST_TRX_TYPE_NAME,
ORAFINAR.CUSTOMER_BANK_ACCOUNT_ID,
ORAFINAR.CUSTOMER_BANK_ACCOUNT_NAME,
ORAFINAR.CUSTOMER_TRX_ID,
ORAFINAR.DESCRIPTION,
ORAFINAR.DOCUMENT_NUMBER,
ORAFINAR.DOCUMENT_NUMBER_SEQUENCE_ID,
ORAFINAR.EXCEPTION_ID,
ORAFINAR.EXEMPTION_ID,
ORAFINAR.FOB_POINT,
ORAFINAR.GL_DATE,
ORAFINAR.HEADER_ATTRIBUTE_CATEGORY,
ORAFINAR.HEADER_ATTRIBUTE1,
ORAFINAR.HEADER_ATTRIBUTE2,
ORAFINAR.HEADER_ATTRIBUTE3,
ORAFINAR.HEADER_ATTRIBUTE4,
ORAFINAR.HEADER_ATTRIBUTE5,
ORAFINAR.HEADER_ATTRIBUTE6,
ORAFINAR.HEADER_ATTRIBUTE7,
ORAFINAR.HEADER_ATTRIBUTE8,
ORAFINAR.HEADER_ATTRIBUTE9,
ORAFINAR.HEADER_ATTRIBUTE10,
ORAFINAR.HEADER_ATTRIBUTE11,
ORAFINAR.HEADER_ATTRIBUTE12,
ORAFINAR.HEADER_ATTRIBUTE13,
ORAFINAR.HEADER_ATTRIBUTE14,
ORAFINAR.HEADER_ATTRIBUTE15,
ORAFINAR.HEADER_GDF_ATTR_CATEGORY,
ORAFINAR.HEADER_GDF_ATTRIBUTE1,
ORAFINAR.HEADER_GDF_ATTRIBUTE2,
ORAFINAR.HEADER_GDF_ATTRIBUTE3,
ORAFINAR.HEADER_GDF_ATTRIBUTE4,
ORAFINAR.HEADER_GDF_ATTRIBUTE5,
ORAFINAR.HEADER_GDF_ATTRIBUTE6,
ORAFINAR.HEADER_GDF_ATTRIBUTE7,
ORAFINAR.HEADER_GDF_ATTRIBUTE8,
ORAFINAR.HEADER_GDF_ATTRIBUTE9,
ORAFINAR.HEADER_GDF_ATTRIBUTE10,
ORAFINAR.HEADER_GDF_ATTRIBUTE11,
ORAFINAR.HEADER_GDF_ATTRIBUTE12,
ORAFINAR.HEADER_GDF_ATTRIBUTE13,
ORAFINAR.HEADER_GDF_ATTRIBUTE14,
ORAFINAR.HEADER_GDF_ATTRIBUTE15,
ORAFINAR.HEADER_GDF_ATTRIBUTE16,
ORAFINAR.HEADER_GDF_ATTRIBUTE17,
ORAFINAR.HEADER_GDF_ATTRIBUTE18,
ORAFINAR.HEADER_GDF_ATTRIBUTE19,
ORAFINAR.HEADER_GDF_ATTRIBUTE20,
ORAFINAR.HEADER_GDF_ATTRIBUTE21,
ORAFINAR.HEADER_GDF_ATTRIBUTE22,
ORAFINAR.HEADER_GDF_ATTRIBUTE23,
ORAFINAR.HEADER_GDF_ATTRIBUTE24,
ORAFINAR.HEADER_GDF_ATTRIBUTE25,
ORAFINAR.HEADER_GDF_ATTRIBUTE26,
ORAFINAR.HEADER_GDF_ATTRIBUTE27,
ORAFINAR.HEADER_GDF_ATTRIBUTE28,
ORAFINAR.HEADER_GDF_ATTRIBUTE29,
ORAFINAR.HEADER_GDF_ATTRIBUTE30,
ORAFINAR.INITIAL_CUSTOMER_TRX_ID,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE1,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE2,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE3,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE4,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE5,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE6,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE7,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE8,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE9,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE10,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE11,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE12,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE13,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE14,
ORAFINAR.INTERFACE_LINE_ATTRIBUTE15,
ORAFINAR.INTERFACE_LINE_CONTEXT,
ORAFINAR.INTERFACE_LINE_ID,
ORAFINAR.INTERFACE_STATUS,
ORAFINAR.INTERNAL_NOTES,
ORAFINAR.INVENTORY_ITEM_ID,
ORAFINAR.INVOICING_RULE_ID,
ORAFINAR.INVOICING_RULE_NAME,
ORAFINAR.LAST_PERIOD_TO_CREDIT,
ORAFINAR.LAST_UPDATE_DATE,
ORAFINAR.LAST_UPDATE_LOGIN,
ORAFINAR.LAST_UPDATED_BY,
ORAFINAR.LINE_GDF_ATTR_CATEGORY,
ORAFINAR.LINE_GDF_ATTRIBUTE1,
ORAFINAR.LINE_GDF_ATTRIBUTE2,
ORAFINAR.LINE_GDF_ATTRIBUTE3,
ORAFINAR.LINE_GDF_ATTRIBUTE4,
ORAFINAR.LINE_GDF_ATTRIBUTE5,
ORAFINAR.LINE_GDF_ATTRIBUTE6,
ORAFINAR.LINE_GDF_ATTRIBUTE7,
ORAFINAR.LINE_GDF_ATTRIBUTE8,
ORAFINAR.LINE_GDF_ATTRIBUTE9,
ORAFINAR.LINE_GDF_ATTRIBUTE10,
ORAFINAR.LINE_GDF_ATTRIBUTE11,
ORAFINAR.LINE_GDF_ATTRIBUTE12,
ORAFINAR.LINE_GDF_ATTRIBUTE13,
ORAFINAR.LINE_GDF_ATTRIBUTE14,
ORAFINAR.LINE_GDF_ATTRIBUTE15,
ORAFINAR.LINE_GDF_ATTRIBUTE16,
ORAFINAR.LINE_GDF_ATTRIBUTE17,
ORAFINAR.LINE_GDF_ATTRIBUTE18,
ORAFINAR.LINE_GDF_ATTRIBUTE19,
ORAFINAR.LINE_GDF_ATTRIBUTE20,
ORAFINAR.LINE_NUMBER,
ORAFINAR.LINE_TYPE,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE1,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE2,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE3,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE4,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE5,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE6,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE7,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE8,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE9,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE10,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE11,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE12,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE13,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE14,
ORAFINAR.LINK_TO_LINE_ATTRIBUTE15,
ORAFINAR.LINK_TO_LINE_CONTEXT,
ORAFINAR.LINK_TO_LINE_ID,
ORAFINAR.LOCATION_SEGMENT_ID,
ORAFINAR.MEMO_LINE_ID,
ORAFINAR.MEMO_LINE_NAME,
ORAFINAR.MOVEMENT_ID,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG1,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG2,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG3,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG4,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG5,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG6,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG7,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG8,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG9,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG10,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG11,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG12,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG13,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG14,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG15,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG16,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG17,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG18,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG19,
ORAFINAR.MTL_SYSTEM_ITEMS_SEG20,
ORAFINAR.ORG_ID,
ORAFINAR.ORIG_SYSTEM_BATCH_NAME,
ORAFINAR.ORIG_SYSTEM_BILL_ADDRESS_ID,
ORAFINAR.ORIG_SYSTEM_BILL_ADDRESS_REF,
ORAFINAR.ORIG_SYSTEM_BILL_CONTACT_ID,
ORAFINAR.ORIG_SYSTEM_BILL_CONTACT_REF,
ORAFINAR.ORIG_SYSTEM_BILL_CUSTOMER_ID,
ORAFINAR.ORIG_SYSTEM_BILL_CUSTOMER_REF,
ORAFINAR.ORIG_SYSTEM_SHIP_ADDRESS_ID,
ORAFINAR.ORIG_SYSTEM_SHIP_ADDRESS_REF,
ORAFINAR.ORIG_SYSTEM_SHIP_CONTACT_ID,
ORAFINAR.ORIG_SYSTEM_SHIP_CONTACT_REF,
ORAFINAR.ORIG_SYSTEM_SHIP_CUSTOMER_ID,
ORAFINAR.ORIG_SYSTEM_SHIP_CUSTOMER_REF,
ORAFINAR.ORIG_SYSTEM_SOLD_CUSTOMER_ID,
ORAFINAR.ORIG_SYSTEM_SOLD_CUSTOMER_REF,
ORAFINAR.PAYING_CUSTOMER_ID,
ORAFINAR.PAYING_SITE_USE_ID,
ORAFINAR.PAYMENT_SERVER_ORDER_NUM,
ORAFINAR.PREVIOUS_CUSTOMER_TRX_ID,
ORAFINAR.PRIMARY_SALESREP_ID,
ORAFINAR.PRIMARY_SALESREP_NUMBER,
ORAFINAR.PRINTING_OPTION,
ORAFINAR.PURCHASE_ORDER,
ORAFINAR.PURCHASE_ORDER_DATE,
ORAFINAR.PURCHASE_ORDER_REVISION,
ORAFINAR.QUANTITY,
ORAFINAR.QUANTITY_ORDERED,
ORAFINAR.REASON_CODE,
ORAFINAR.REASON_CODE_MEANING,
ORAFINAR.RECEIPT_METHOD_ID,
ORAFINAR.RECEIPT_METHOD_NAME,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE1,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE2,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE3,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE4,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE5,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE6,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE7,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE8,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE9,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE10,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE11,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE12,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE13,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE14,
ORAFINAR.REFERENCE_LINE_ATTRIBUTE15,
ORAFINAR.REFERENCE_LINE_CONTEXT,
ORAFINAR.REFERENCE_LINE_ID,
ORAFINAR.RELATED_BATCH_SOURCE_NAME,
ORAFINAR.RELATED_CUSTOMER_TRX_ID,
ORAFINAR.RELATED_TRX_NUMBER,
ORAFINAR.REQUEST_ID,
ORAFINAR.RESET_TRX_DATE_FLAG,
ORAFINAR.RULE_START_DATE,
ORAFINAR.SALES_ORDER,
ORAFINAR.SALES_ORDER_DATE,
ORAFINAR.SALES_ORDER_LINE,
ORAFINAR.SALES_ORDER_REVISION,
ORAFINAR.SALES_ORDER_SOURCE,
ORAFINAR.SALES_TAX_ID,
ORAFINAR.SET_OF_BOOKS_ID,
ORAFINAR.SHIP_DATE_ACTUAL,
ORAFINAR.SHIP_VIA,
ORAFINAR.TAX_CODE,
ORAFINAR.TAX_EXEMPT_FLAG,
ORAFINAR.TAX_EXEMPT_NUMBER,
ORAFINAR.TAX_EXEMPT_REASON_CODE,
ORAFINAR.TAX_EXEMPT_REASON_CODE_MEANING,
ORAFINAR.TAX_PRECEDENCE,
ORAFINAR.TAX_RATE,
ORAFINAR.TERM_ID,
ORAFINAR.TERM_NAME,
ORAFINAR.TERRITORY_ID,
ORAFINAR.TERRITORY_SEGMENT1,
ORAFINAR.TERRITORY_SEGMENT2,
ORAFINAR.TERRITORY_SEGMENT3,
ORAFINAR.TERRITORY_SEGMENT4,
ORAFINAR.TERRITORY_SEGMENT5,
ORAFINAR.TERRITORY_SEGMENT6,
ORAFINAR.TERRITORY_SEGMENT7,
ORAFINAR.TERRITORY_SEGMENT8,
ORAFINAR.TERRITORY_SEGMENT9,
ORAFINAR.TERRITORY_SEGMENT10,
ORAFINAR.TERRITORY_SEGMENT11,
ORAFINAR.TERRITORY_SEGMENT12,
ORAFINAR.TERRITORY_SEGMENT13,
ORAFINAR.TERRITORY_SEGMENT14,
ORAFINAR.TERRITORY_SEGMENT15,
ORAFINAR.TERRITORY_SEGMENT16,
ORAFINAR.TERRITORY_SEGMENT17,
ORAFINAR.TERRITORY_SEGMENT18,
ORAFINAR.TERRITORY_SEGMENT19,
ORAFINAR.TERRITORY_SEGMENT20,
ORAFINAR.TRANSLATED_DESCRIPTION,
ORAFINAR.TRX_DATE,
ORAFINAR.TRX_NUMBER,
ORAFINAR.UNIT_SELLING_PRICE,
ORAFINAR.UNIT_STANDARD_PRICE,
ORAFINAR.UOM_CODE,
ORAFINAR.UOM_NAME,
ORAFINAR.USSGL_TRANSACTION_CODE,
ORAFINAR.USSGL_TRANSACTION_CODE_CONTEXT,
ORAFINAR.VAT_TAX_ID,
ORAFINAR.WAREHOUSE_ID,
ORAFINAR.WAYBILL_NUMBER
FROM ORAFINAR
RIGHT OUTER JOIN ORAFINARITEM ON (ORAFINAR.ARID = ORAFINARITEM.ARID)

I guess this basically is the same as

SELECT (SELECT SUM( GL_AMOUNT.AMOUNT ) FROM GL_AMOUNT
JOIN ORAFINARITEM ON (ORAFINAR.ARID = ORAFINARITEM.ARID)
WHERE ORAFINARITEM.GL_ITEM_ID = GL_AMOUNT.GL_ITEM_ID
AND GL_AMOUNT.GL_MONTH = '200108') AS SUM_OF_AMOUNT,
ORAFINAR.*
FROM ORAFINAR

since you don't specify any items for GRAFINARITEM in your select. But
maybe it is just me not understanding why you use a right outer join.

HTH,
Set