2016-12-19 3 views
0

ich so genannt habe 2 Tabellen: Auf und BestellenWie aus einer Spalte von zwei Tabellen mit einer gleichen Spalte subtrahieren

Tabelle: Auf

+-----------+-----------+ 
| Item | Number | 
+-----------+-----------+ 
| A  |  20 | 
| B  |  7 | 
| C  |  11 | 
| D  |  13 | 
+-----------+-----------+ 

Tabelle: Bestellen

+-----------+-----------+ 
| Item | Number | 
+-----------+-----------+ 
| A  |  8 | 
| B  |  2 | 
| C  |  5 | 
| D  |  9 | 
+-----------+-----------+ 

Ich muss die Spaltennummer vom Lagerbestand zur Bestellung abziehen.

Das Ergebnis wäre:

Tabelle: Auf

+-----------+-----------+ 
| Item | Number | 
+-----------+-----------+ 
| A  |  12 | 
| B  |  5 | 
| C  |  6 | 
| D  |  4 | 
+-----------+-----------+ 

ich versucht habe, mit

SELECT item , number= 
(
    (SELECT number FROM stock)-(SELECT number from order)) 
    FROM order; 

Leider funktioniert es nicht, bitte hilf mir! Und bitte um die Formatierung.

+1

Hinweis: 'JOIN' die beiden zusammen Tabellen. –

Antwort

2
SELECT B.Item,A.Number - B.Number FROM 
Stock A 
INNER JOIN Order B 
ON A.Item=B.Item 
2

Wenn zwei Tabellen in 1 sind: 1-Beziehung -> versuchen Sie dies:

SELECT s.item, s.number - o.number 
FROM stock s 
JOIN order o 
    ON s.item = o.item 

Ansonsten:

SELECT s.item, 
s.number - ISNULL(
    (SELECT SUM(o.number) 
    FROM order o 
    WHERE o.item = s.item), 0) 
FROM stock s 
Verwandte Themen