2010-12-06 10 views
1
Table 1 

Empaname empid  Deptid 
kumar  23   1 
kumar  23   2 
manu   45   3 
manju  34   4 
manju  34   5 
manju  34   6 


Table2 

Empaname empid  Deptid 
kumar  23   1 
manu   45   3 
manju  34   5 

Hier habe ich 2 Tabellen i zwei Wertetabelle auf dieser Grundlage bin im Vergleich Ich brauche die Werte int Tabelle 2SQL-Abfrage Ausgabe

if exists(select Empid from [email protected] and [email protected] and DEptid<>@intdepID) 
    Begin 

    //here both Empname and Empid is matching and DeptID is not matching then do not do anything just return an value as 2 

return 2 

    end 

    else 
     begin 
    //Update the record vales to an Temp Table 
    end 

Ich schreibe diese Abfrage zu aktualisieren, es wird immer fehlgeschlagen für diese Bedingung.

helfen kann mir einer aus einer Abfrage zu diesem

dank

+1

„Es ist nicht bestanden immer“ - mit einem Fehler oder es nicht tun, was Sie erwarten, dass es zu tun? Können Sie Ihre genaue Abfrage hinzufügen, einschließlich der Update-Anweisung? Wenn es einen Fehler erzeugt, können Sie es bitte auch posten? – rkellerm

Antwort

2

Wie wäre es mit einer solchen Abfrage zu schreiben?

UPDATE ... -- T1 or T2 
SET ... -- appropriate columns and values 
FROM Table1 T1 
INNER JOIN Table2 T2 ON T1.Empaname = T2.Empaname 
    AND T1.empid = T2.empid 
    AND T1.Deptid != T2.Deptid