raghav
10/20/2023, 11:19 AMSELECT
soTrans.id AS so_internal_id,
soTrans.tranid as so_id,
ifTrans.id AS if_internal_id,
ifTrans.tranid AS if_id,
BUILTIN.DF (ifTrans.status)
FROM
transaction AS soTrans
INNER JOIN customer AS c ON soTrans.entity = c.id
INNER JOIN TransactionLine AS soLine ON soLine.Transaction = soTrans.id
INNER JOIN location AS l ON soLine.location = l.id
LEFT OUTER JOIN TransactionLine AS ifLine ON ifLine.createdfrom = soTrans.id
LEFT OUTER JOIN transaction AS ifTrans ON ifTrans.id = ifLine.Transaction
WHERE
soTrans.type = 'SalesOrd'
AND BUILTIN.DF (soTrans.status) IN ('Sales Order : Pending Fulfillment')
AND soLine.mainline = 'T'
AND ifLine.mainline = 'T'
AND soTrans.entity = '20011'
AND l.id = '80'
AND soTrans.shipdate = '10/12/2023'
Have 6 sales order in the system out of which for 3 IF is created. While running the query its giving only 3 result for which there is IF instead of 6.
Essentially want all 6 SOs even if there is no IFs.raghav
10/20/2023, 11:41 AMSELECT
soTrans.id AS so_internal_id,
soTrans.tranid as so_id,
ifTrans.id AS if_internal_id,
ifTrans.tranid AS if_id,
ifTrans.custbody_kdl_id AS if_kdl_order_num,
FROM
transaction AS soTrans
INNER JOIN customer AS c ON soTrans.entity = c.id
INNER JOIN TransactionLine AS soLine ON soLine.Transaction = soTrans.id
INNER JOIN location AS l ON soLine.location = l.id
LEFT OUTER JOIN TransactionLine AS ifLine ON ifLine.createdfrom = soTrans.id
LEFT OUTER JOIN transaction AS ifTrans ON ifTrans.id = ifLine.Transaction
WHERE
soTrans.type = 'SalesOrd'
AND BUILTIN.DF (soTrans.status) IN ('Sales Order : Pending Fulfillment')
AND soLine.mainline = 'T'
AND soTrans.entity = '20011'
AND l.id = '80'
AND soTrans.shipdate = '10/12/2023'
GROUP BY
soTrans.id,
soTrans.tranid,
ifTrans.id,
ifTrans.tranid,
ifTrans.custbody_kdl_id
raghav
10/20/2023, 11:50 AMSELECT
soTrans.id AS so_internal_id,
soTrans.tranid as so_id,
ifTrans.id AS if_internal_id,
ifTrans.tranid AS if_id,
ifTrans.custbody_kdl_id AS if_kdl_order_num,
FROM
transaction AS soTrans
INNER JOIN customer AS c ON soTrans.entity = c.id
INNER JOIN TransactionLine AS soLine ON soLine.Transaction = soTrans.id
INNER JOIN location AS l ON soLine.location = l.id
LEFT OUTER JOIN TransactionLine AS ifLine ON ifLine.createdfrom = soTrans.id
LEFT OUTER JOIN transaction AS ifTrans ON ifTrans.id = ifLine.Transaction
WHERE
soTrans.type = 'SalesOrd'
AND BUILTIN.DF (soTrans.status) IN ('Sales Order : Pending Fulfillment')
AND soLine.mainline = 'T'
AND soTrans.entity = '20011'
AND l.id = '80'
AND soTrans.shipdate = '10/12/2023'
AND (ifTrans.id IS NULL OR ifLine.mainline = 'T')
raghav
10/20/2023, 5:39 PM