2017-07-02 5 views

Antwort

1

nutzen zu können, eine Verknüpfung, würden Sie die bewegen Unterabfrage in einer left join Klausel, wie folgt aus:

select pm.name, 
      pc.chapter as sonbolum 
from  puzz_manga pm 
left join (select manga, chapter 
      from  puzz_chapter 
      where (grup = 1 or grup2 = 1) 
      order by chapterId desc 
      limit 1) pc 
     on pc.manga = pm.mangaId; 

Aber vielleicht für eine Art und Weise Sie suchen, um die Sub-Abfrage zu vermeiden. In diesem Fall gibt es keine effiziente Möglichkeit, dies in MySql (zum Zeitpunkt des Schreibens) zu tun. Eine Möglichkeit ist group_concat zu verwenden, und extrahieren Sie dann den ersten Wert aus, aber ich erwarte, dass dies weniger effizient sein als die Lösung, die Sie bereits haben:

select pm.name, 
      substring_index(group_concat(pc.chapter order by pc.chapterId desc), ",", 1) 
       as sonbolum 
from  puzz_manga pm 
left join puzz_chapter pc 
     on (pc.grup = 1 or pc.grup2 = 1) 
     and pc.manga = pm.mangaId 
group by pm.mangaId; 

Siehe beiden Abfragen laufen auf rextester.com

+0

THANK YOU SO VIEL ICH LIEBE DIESE PLATTFORM <3333 – ibrahim

Verwandte Themen