我有 3 个表:报价、主题标签和用户。
如下:
表报价
Quote | user | Hashtags
hello world #greet | 1 | ,1,3
this is a #quote#this | 2 | ,2,4
表标签
id | hashtag
1 | greet
2 | quote
3 | hello
4 | this
表用户
id | username
1 | john
2 | michael
我想要做的是编写一个 SQL 查询,使用 INNER JOIN,使用给定的主题标签获取引号(每个引号的用户名)。
例如:我有标签:“#greet”,我想得到这个标签下的引号。我必须做这样的事情:
SELECT
quo.quote,
usr.username,
hash.hashtag
FROM
quote as quo
INNER JOIN
user as usr
INNER JOIN
hashtag as hash
ON
usr.id=quo.user
AND
hash.id LIKE '%,quo.hashtags,%'
AND
hash.id = :givenHashtag
正如您在 SQL 示例中看到的,我想检查主题标签 id 是否包含在引号主题标签 varchar 中。使用LIKE '%,x,%'
问题是,在这里,我不知道如何使用%..%
quo.hashtag 列的名称。
请注意,我正在基于 MySQL/PHP 工作