2017-05-30 2 views
0

Hier ist Pseudo-Code von dem, was ichSelective in Ansicht SQL JOIN

Select * from TableA 

if(TableA.criteria != 1) 
    inner join TableB.criteria = TableA.criteria 

ich tun, muss es im Hinblick auf die Erreichung versuche sp, Funktionen etc.

Vielen Dank für jede Hilfe können Sie sein in der Lage zu bieten

+0

Beispieldaten und gewünschte Ergebnisse würden helfen, die Frage zu klären. –

+0

Daten sind so chaotisch auch ich habe schwer zu verstehen – bugrasitemkar

Antwort

0

Ist das, was Sie wollen?

Select a.*, b.* from TableA a join TableB b 
    on b.criteria = case when a.Criteria = 1 
     then 1 else null end 
+0

Ich habe versucht, Ihre Antwort anzupassen, aber mein Zustand ist eigentlich nicht gleich ich habe es bearbeitet. Danke, aber es funktioniert nicht auf diese Weise – bugrasitemkar

0

Dies kann sein, was Sie wollen:

select a.*, b.* 
from a left join 
    b 
    on b.criteria = a.criteria and b.criteria = 1; 

Die left join alle Zeilen in a halten, auch wenn die on Bedingung nicht wahr ist. Die zusätzlichen Spalten von b werden NULL sein, es sei denn, die Kriterien sind beide "1".

+0

Ich habe versucht, Ihre Antwort anzupassen, aber mein Zustand ist eigentlich nicht gleich ich habe es bearbeitet. Danke, aber es funktioniert nicht so – bugrasitemkar