2017-05-12 1 views
0

Ich habe diese Abfrage in SQL, die ich weiß, es ist schrecklich geschrieben. Könnt ihr mir helfen, es auf anständige, normale Art und Weise zu schreiben?SQL-Abfrage Verbesserung (zusätzliche Spalte in der Tabelle)

Danke.

select distinct R.*, X.LIKED 
from Recipe R 
left join (select distinct R.* , '1' as LIKED 
      from Recipe R, Likes L 
      where R.id = L.idRecipe 
      and L.email = '[email protected]') X 
on R.id = X.id 
+0

aktualisieren Sie Ihre Frage fügen Sie ein richtiges Datenmuster und das erwartete Ergebnis – scaisEdge

+0

y haben Sie Unterabfrage geschrieben? Wenn Sie nur eine Unterabfrage schreiben, wird dieselbe ausgegeben –

Antwort

0

sieht aus wie Sie alles aus Rezept mit Markierungen müssen auf gemocht von [email protected]

select R.*, likedR.LIKED 
from Recipe R 
left join (select distinct R.id , '1' as LIKED 
      from Recipe R 
       inner join Likes L on R.id = L.idRecipe 
      where 
       L.email = '[email protected]') likedR 
on R.id = likedR.id 
0

Vielen Dank allen für Ihre Hilfe.

ich war in der Lage zu tun, was ich mit dieser Abfrage wollte:

select distinct R.*, X.LIKED, U.imgUrl 
from User U, Recipe R 
left join 
    (select distinct R.* , '1' as LIKED 
    from Recipe R, Likes L 
    where R.id = L.idRecipe and L.email = '[email protected]') X 
on R.id = X.id 
where R.email = U.email 

Dies wird alle Informationen, bringe ich entweder mit einem 1 oder einem Null in einer Tabelle plus 1 zusätzliche Spalte benötigen, wenn der Eintrag von DVADER ist in einer anderen Tabelle, Joins verwenden.

Verwandte Themen