3
對於我的搜索索引,我需要創建一個sql來獲取用戶表的結果。通過獲取所有表結果的每個組的concat
例如,我有以下表格;
- 標記(此表中我得到的所有標籤)
- video_tags(此表中,我得到VIDEO_ID的相關標籤ID)
- 視頻(所有視頻)
當我想用標籤獲取電影我使用後續查詢;
SELECT
videos.id,
videos.id AS video_id,
videos.video_title AS video_title,
Group_Concat(DISTINCT t.tag_name SEPARATOR '|') AS tag_names
FROM videos
JOIN video_tags AS vt ON vt.video_id = videos.id
JOIN tags AS t ON t.tag_id = vt.tag_id
WHERE videos.id = '10'
這對我來說非常適合。
現在我需要從表中得到這樣的結果;
SELECT
videos.id,
videos.id AS video_id,
videos.video_title AS video_title,
Group_Concat(DISTINCT t.tag_name SEPARATOR '|') AS tag_names
FROM videos
JOIN video_tags AS vt ON vt.video_id = videos.id
JOIN tags AS t ON t.tag_id = vt.tag_id
WHERE videos.id <=(SELECT max_doc_id FROM sph_counter WHERE counter_id=1)
我在這裏面臨的問題是我如何使用group_concat函數。它將所有行 合併成一行(我能理解)。我的問題是,如何使用group_concat函數將所有標記結果放入單個字段,而不是PER行。
例如結果現在
id | video_id | video_title | tag_names
1 1 title of id1 all tag_names from tags
我想要什麼
id | video_id | video_title | tag_names
1 1 title of id1 tags fort this row
2 2 title of id2 tags fort this row
完美!當然這個團隊:)謝謝,我會盡可能地接受 – directory