2016-12-03 2 views
-2

ich die unter 2 SQL-Tabellen habenGespeicherte Prozedur zur Aktualisierung der Zählung

Table 1 
Id | Data | Values 
1 | rfsd | 23 
2 | tfgy | 45 
3 | rfff | 23 


Table 2 

Id | Fields | Counts 
1 | 23  | 0 
2 | 45  | 0 

Wie Sie sehen können, die Counts Feld ist 0. Ich möchte Spalte in der Tabelle ‚Fields‘ sehen, 2 und vergleichen Sie dann mit der Spalte 'Werte' in Tabelle 1 und inkrementieren die Zählung, wenn der Wert im Feld 'Werte' vorhanden ist.

sollte das Endergebnis wie diese

Table 2 
Id | Fields | Counts 
1 | 23  | 2 
2 | 45  | 1 

zeigen diese die Zählungen werden seit 23 zweimal angezeigt und 45 erscheint einmal im Bereich der Tabelle 1.

mir bitte jemand kann ‚Werte‘ lassen wissen, wie man eine gespeicherte Prozedur dafür schreibt.

Antwort

1

Legen Sie dies in eine gespeicherte Prozedur.

WITH t1 AS (
SELECT 
    VALUES 
    , COUNT(*) AS Count2 
FROM 
    Table1 
GROUP BY 
    VALUES 
) 
UPDATE t2 
SET Counts = t1.Count2 
FROM 
    Table2 t2 
    JOIN t1 ON t2.Fields=t1.Values