2016-07-30 14 views
-1

i Tabellenname Lager haben, in denen ich 5 Spaltenname id productIdstockInstockOut Und VoucherType ..return true, wenn die Spalte, die die gleiche ProductID haben

i die wollen, müssen prüfen, ob productId=1 und voucherType=1 dass alle zählen Spalte in stockIn mit dem gleichen ProductId und Summe des Wert All in stockIn dann zählt auch in stockout mit dem gleichen Produkt-ID und der Summe, wenn die stockIn Summe größer als stockOut ist, die true zurück ...

id ' productid ' stockin 'stockout 'VoucherType 

----------------------------------------- 
1 | 1  | 5  | 0  | 1 
2 | 1  | 5  | 0  | 1 
3 | 1  | 5  | 0  | 1 
4 | 2  | 5  | 0  | 1 
5 | 2  | 0  | 10  | 2 
6 | 1  | 0  | 2  | 2 
7 | 2  | 0  | 3  | 2 
+1

bitte erläutern Sie mit Beispielausgabe – TheGameiswar

+0

zum Beispiel, wenn der VoucherType = 2 und ProductID = 1 dann Summiere den gesamten Wert in StockIn mit derselben ProductID und auch gleich in StockIn dann finden Sie, welcher Wert größer StockIn oder ist StockOUT –

+1

Beispieldaten * und * gewünschte Ergebnisse können vermitteln, was Sie wirklich tun möchten. –

Antwort

0
SELECT productId 
    , voucherType 
    , COUNT(stockIn) as Count_stockIn 
    , SUM(stockIn) as Sum_stockIn 
    , COUNT(stockOut) as Count_stockOut 
    , CASE WHEN SUM(stockIn) > SUM(stockOut) THEN 'True' ELSE 'False' END AS IsInGreater 
From Table 
Group By productId, voucherType 
Having productId = voucherType And IsInGreater = 'True' 

Das ist was du willst? (Ihre Frage ist ernsthaft unklar)

+0

SELECT productId , COUNT (Lagerin) als Count_stockIn , SUM (Lagerin) als Sum_stockIn , COUNT (stockout) als Count_stockOut \t, SUM (stockout) als Sum_stockOut , CASE WHEN SUM (Lagerin)> = SUMME (stockout) THEN 'True' ELSE 'false' END AS IsInGreater ab Lager Gruppieren Nach productId Mit productId = 1 ist dies wo rking für mich Ich möchte nur auch den anderen Wert in der Summe hinzufügen (stockout), die auf Laufzeit kommen wird. Danke Fortschritt –

+0

@ImranBashir perfekt :) froh, geholfen zu haben. Vergessen Sie nicht, es als die Antwort zu markieren, wenn es Ihre Frage gelöst ist –

+0

können Sie mir sagen, wie ich auch den Wert in Summe hinzufügen kann (stockout) der Wert als Parameter kommen –

Verwandte Themen