Ich habe eine Tabelle, deren Zeilen item_id und tag_id sind. Jede item_id ist eine einzigartige automatische Implementierung. Gegenstand kann mehrere tag_id haben.Kann MySQL ORDER BY FIELD einen zweiten Parameter von der inneren Join-Tabelle erhalten?
Ich versuche, Daten so sortiert zu bekommen. Wenn Benutzer die Seite besuchen, fange ich item_id, gehe zur Tabelle, bekomme alle tag_ids nach item_id und versuche andere item_ids zurückzugeben, die dieselbe tag_id haben.
Hier ist das Problem, wenn es items_id gibt es zufällig ist, zuerst muss ich Elemente von ersten Tag und dann andere. Hier ist die SQL-Abfrage.
SELECT DISTINCT `item_id`, `rel`.`tag_id`
FROM `itv_content_tags_rel` AS `rel`
INNER JOIN (SELECT `tag_id`
FROM `itv_content_tags_rel`
WHERE `item_id` = 65736
)
AS kk ON kk.`tag_id` = `rel`.`tag_id`
ORDER BY FIELD(`rel`.`tag_id`, 'rel.tag_id')
Die ORDER BY FIELD Zeile nicht funktioniert, [Ihr i-Tabelle mit whis Abfrage bekam.] [1]
Wenn ich
ORDER BY FIELD(
rel .
tag_id , 'rel.tag_id')
von
ORDER BY FIELD(`rel`.`tag_id`, '3788') DESC
ändern
alles funktioniert perfekt [Ich habe Tabelle sortiert] [2]
Gibt es hier eine Lösung?
Edit:
Hier ist die Tabelle i nach Tims bearbeiten bekam. Tim's query Ist es möglich, mit item_id auch so sortiert zu bekommen. First sorted with tag_id then time_id
Was ist Ihre gewünschte Ausgabe? –