Mysql+Node.jsでタグ検索機能を作っています。
完成イメージとしては(参考)のような感じを目指しています。
タグと記事を紐づけてSQL文で出力することはできたけど、それをどのようにしてサーバー側で処理して(ルーティングなど)ejsに書くか分からないです。
zatuテーブル
|id|title|content|t_id|
|:--|:--:|--:|
|1|test|tetetete|1|
|2|test2|tetete2|1|
tagテーブル
id | name |
---|---|
1 | tag1 |
2 | tag2 |
3 | tag3 |
**select zatu.*, group_concat(tag.name) from zatu left join tag on zatu.t_id = tag.id group by zatu.t_id; **
と書くことでタグと記事を紐付けています。
Win10
express: "^4.17.1"
mysql: "^2.18.1"
どうかご享受お願いします。
※追記
tag_map(中間テーブル)
id | zatu_id | tag_id |
---|---|---|
1 | 2 | 1 |
2 | 1 | 2 |
3 | 4 | 3 |
4 | 3 | 4 |
実行SQL
SELECT * FROM zatu
WHERE EXISTS (
SELECT group_concat(tag_tmp.name) AS tags
FROM tag AS tag_tmp
JOIN tag_map AS itt ON tag_tmp.id = itt.tag_id
WHERE zatu.t_id = itt.zatu_id
HAVING FIND_IN_SET('tag1', tags)
エラー
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/01 04:23