<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SQL using same field twice with different criteria in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/sql-using-same-field-twice-with-different-criteria/m-p/462344#M14538</link>
    <description>&lt;P&gt;I need quantity to have 3 columns:&lt;/P&gt;&lt;P&gt;*Quantity&lt;/P&gt;&lt;P&gt;*Free Quantity - Where Linetotal = 0.00&lt;/P&gt;&lt;P&gt;*Paid Quantity - Where Linetotal &amp;gt; 0.00&lt;/P&gt;&lt;P&gt;Please see report below:&lt;/P&gt;&lt;P&gt;DECLARE @BL Table &lt;/P&gt;&lt;P&gt;(FrgnName CHAR(100), Quantity DECIMAL(18,2), FreeQty DECIMAL(18,2), PaidQty DECIMAL(18,2), LineTotal Money)
&lt;BR /&gt;&lt;BR /&gt;INSERT INTO @BL (FrgnName, Quantity, FreeQty, PaidQty, Linetotal)
&lt;BR /&gt;&lt;BR /&gt;SELECT T3.FrgnName AS 'FrgnName', 
SUM(T1.Quantity) AS 'Quantity', &lt;BR /&gt;
     (SELECT SUM(T1.Quantity) 
     FROM INV1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal = '0.00') AS 'FreeQty', &lt;BR /&gt;
     (SELECT SUM(T1.Quantity) 
     FROM INV1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal &amp;lt;&amp;gt; '0.00') AS 'PaidQty', &lt;BR /&gt;
SUM(NULLIF(T1.Linetotal - (T0.DiscPrcnt * (T1.LineTotal)/100),0)) AS 'LineTotal' &lt;BR /&gt;&lt;BR /&gt;
FROM OINV T0 &lt;BR /&gt;
INNER JOIN INV1 T1 ON T1.DocEntry = T0.DocEntry &lt;BR /&gt;
LEFT JOIN OCRD T2 ON T0.Cardcode = T2.CardCode &lt;BR /&gt;
INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode &lt;BR /&gt;
WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' 
and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) &lt;BR /&gt;&lt;BR /&gt;
GROUP BY T3.FrgnName
ORDER BY 1 &lt;BR /&gt;&lt;BR /&gt;
INSERT INTO @BL (FrgnName, Quantity, FreeQty, PaidQty, Linetotal) &lt;BR /&gt;&lt;BR /&gt;
SELECT T3.FrgnName AS 'FrgnName', 
- SUM(T1.Quantity) AS 'Quantity', &lt;BR /&gt;
     - (SELECT SUM(T1.Quantity) FROM RIN1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal = '0.00') AS 'FreeQty', &lt;BR /&gt;
     - (SELECT SUM(T1.Quantity)
     FROM RIN1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON  T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal &amp;lt;&amp;gt; '0.00') AS 'PaidQty', &lt;BR /&gt;
- SUM(NULLIF(T1.Linetotal - (T0.DiscPrcnt * (T1.LineTotal)/100),0)) AS 'LineTotal' &lt;BR /&gt;
FROM ORIN T0 
INNER JOIN RIN1 T1 ON T1.DocEntry = T0.DocEntry &lt;BR /&gt;
LEFT JOIN OCRD T2 ON T0.Cardcode = T2.CardCode &lt;BR /&gt;
INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode &lt;BR /&gt;
WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' 
and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) &lt;BR /&gt;
GROUP BY T3.FrgnName
&lt;BR /&gt;ORDER BY 1 &lt;BR /&gt;&lt;BR /&gt;
SELECT FrgnName, SUM(Quantity) AS 'Quantity', SUM(FreeQty) AS 'Free Qty', SUM(PaidQty) AS 'Paid Qty', SUM(Linetotal) AS 'Amount'
&lt;BR /&gt;FROM @BL T0 &lt;BR /&gt;
GROUP BY FrgnName
ORDER BY 1&lt;/P&gt;&lt;P&gt;**FrgnName** is the Model Name in this instance (Shorter version of the ItemName) &lt;/P&gt;</description>
    <pubDate>Fri, 21 Apr 2017 14:19:15 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2017-04-21T14:19:15Z</dc:date>
    <item>
      <title>SQL using same field twice with different criteria</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/sql-using-same-field-twice-with-different-criteria/m-p/462344#M14538</link>
      <description>&lt;P&gt;I need quantity to have 3 columns:&lt;/P&gt;&lt;P&gt;*Quantity&lt;/P&gt;&lt;P&gt;*Free Quantity - Where Linetotal = 0.00&lt;/P&gt;&lt;P&gt;*Paid Quantity - Where Linetotal &amp;gt; 0.00&lt;/P&gt;&lt;P&gt;Please see report below:&lt;/P&gt;&lt;P&gt;DECLARE @BL Table &lt;/P&gt;&lt;P&gt;(FrgnName CHAR(100), Quantity DECIMAL(18,2), FreeQty DECIMAL(18,2), PaidQty DECIMAL(18,2), LineTotal Money)
&lt;BR /&gt;&lt;BR /&gt;INSERT INTO @BL (FrgnName, Quantity, FreeQty, PaidQty, Linetotal)
&lt;BR /&gt;&lt;BR /&gt;SELECT T3.FrgnName AS 'FrgnName', 
SUM(T1.Quantity) AS 'Quantity', &lt;BR /&gt;
     (SELECT SUM(T1.Quantity) 
     FROM INV1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal = '0.00') AS 'FreeQty', &lt;BR /&gt;
     (SELECT SUM(T1.Quantity) 
     FROM INV1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal &amp;lt;&amp;gt; '0.00') AS 'PaidQty', &lt;BR /&gt;
SUM(NULLIF(T1.Linetotal - (T0.DiscPrcnt * (T1.LineTotal)/100),0)) AS 'LineTotal' &lt;BR /&gt;&lt;BR /&gt;
FROM OINV T0 &lt;BR /&gt;
INNER JOIN INV1 T1 ON T1.DocEntry = T0.DocEntry &lt;BR /&gt;
LEFT JOIN OCRD T2 ON T0.Cardcode = T2.CardCode &lt;BR /&gt;
INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode &lt;BR /&gt;
WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' 
and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) &lt;BR /&gt;&lt;BR /&gt;
GROUP BY T3.FrgnName
ORDER BY 1 &lt;BR /&gt;&lt;BR /&gt;
INSERT INTO @BL (FrgnName, Quantity, FreeQty, PaidQty, Linetotal) &lt;BR /&gt;&lt;BR /&gt;
SELECT T3.FrgnName AS 'FrgnName', 
- SUM(T1.Quantity) AS 'Quantity', &lt;BR /&gt;
     - (SELECT SUM(T1.Quantity) FROM RIN1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal = '0.00') AS 'FreeQty', &lt;BR /&gt;
     - (SELECT SUM(T1.Quantity)
     FROM RIN1 T1 INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode 
     INNER JOIN OINV T0 ON  T1.DocEntry = T0.DocEntry 
     WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' AND T3.FrgnName = FrgnName
     and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) AND T1.LineTotal &amp;lt;&amp;gt; '0.00') AS 'PaidQty', &lt;BR /&gt;
- SUM(NULLIF(T1.Linetotal - (T0.DiscPrcnt * (T1.LineTotal)/100),0)) AS 'LineTotal' &lt;BR /&gt;
FROM ORIN T0 
INNER JOIN RIN1 T1 ON T1.DocEntry = T0.DocEntry &lt;BR /&gt;
LEFT JOIN OCRD T2 ON T0.Cardcode = T2.CardCode &lt;BR /&gt;
INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode &lt;BR /&gt;
WHERE T0.DocDate BETWEEN [%0] AND [%1] AND T0.DocType = 'I' 
and T3.ItmsGrpCod IN (107, 108, 110, 111, 112, 114, 115, 116, 117, 127, 129, 131, 132) &lt;BR /&gt;
GROUP BY T3.FrgnName
&lt;BR /&gt;ORDER BY 1 &lt;BR /&gt;&lt;BR /&gt;
SELECT FrgnName, SUM(Quantity) AS 'Quantity', SUM(FreeQty) AS 'Free Qty', SUM(PaidQty) AS 'Paid Qty', SUM(Linetotal) AS 'Amount'
&lt;BR /&gt;FROM @BL T0 &lt;BR /&gt;
GROUP BY FrgnName
ORDER BY 1&lt;/P&gt;&lt;P&gt;**FrgnName** is the Model Name in this instance (Shorter version of the ItemName) &lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2017 14:19:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/sql-using-same-field-twice-with-different-criteria/m-p/462344#M14538</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2017-04-21T14:19:15Z</dc:date>
    </item>
  </channel>
</rss>

