ich innerhalb einer Unterabfrage mit einer group_concat
Anweisung ein Problem mit:GROUP_CONCAT in subquery Ausbeuten unpredicable Ergebnisse
select group_concat(name separator " ")title,tmp.p_i
from (
select name,blog.db_blog_posts_title_words_evanhendler.p_i
from blog.db_blog_posts_title_words_evanhendler
join words.words_blog_posts_title
on blog.db_blog_posts_title_words_evanhendler.s_i=words.words_blog_posts_title.id
order by blog.db_blog_posts_title_words_evanhendler.id
)tmp
group by tmp.p_i
liefert das gewünschte Ergebnis:
+-------------------+------+
| title | p_i |
+-------------------+------+
| This is the title | 1 |
| This is the title | 2 |
| This is the title | 3 |
| This is the title | 4 |
+-------------------+------+
jedoch:
select title from blog.db_blog_posts_title_evanhendler left join (
select group_concat(name separator " ")title,tmp.p_i
from (
select name,blog.db_blog_posts_title_words_evanhendler.p_i
from blog.db_blog_posts_title_words_evanhendler
join words.words_blog_posts_title
on blog.db_blog_posts_title_words_evanhendler.s_i=words.words_blog_posts_title.id
order by blog.db_blog_posts_title_words_evanhendler.id
)tmp
group by tmp.p_i
)tmp
on blog.db_blog_posts_title_evanhendler.id=tmp.p_i;
Ausbeuten:
+-------------------+
| title |
+-------------------+
| is the title This |
| This is the title |
| This is the title |
| This is the title |
+-------------------+
Sie benötigen eine Bestellung innerhalb von group_concat. Sie haben die ersten paar Male mit der Bestellung Glück gehabt, aber die zusätzliche Verbindung veranlasst die Maschine, sie in eine andere Reihenfolge zu bringen. So .... 'group_concat (Name ORDER BY Some_value_which_will_put_name_in_right_Order_For_you Trennzeichen" ")' [Docs] (https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group-concat) – xQbert
Versuchte das. Warte, ich bearbeite es, um die Originaltabellen anzuzeigen. –
hatte es in der falschen Parameterreihenfolge, Sie benötigen die Reihenfolge vor dem Trennzeichen. – xQbert