SQL - 如果某些内容为真,如何使用二进制指示符输出结果集?

Gra*_*t J 1 mysql sql

我有以下表格:

users (id,name)
items (id,title)
users_items (user_id,item_id)
Run Code Online (Sandbox Code Playgroud)

users并且items应该是非常自我解释的.users_items确定用户是否"喜欢"某个项目.因此,如果id为5的用户拥有id为7的favourited项,则users_items表将分别保存user_id和item_id的记录(5,7).

我希望能够输出所有项目,但是在每个项目旁边说明当前登录的用户是否喜欢该项目.

显然,我可以获取所有项目,然后循环遍历它们并执行单独的mysql调用,以查看是否从users_items返回任何具有相关用户ID和课程ID的行,但是有一种更好的方法可以在1函数中执行此操作.也许有一些花哨的加入?

提前致谢.

Tom*_*rdt 6

SELECT * FROM items LEFT JOIN users_items ON items.id=users_items.item_id AND user_id=1 -- change user_id
Run Code Online (Sandbox Code Playgroud)

在PHP中,下一步是检查它是否为true:

if ($row['item_id'])
{
    // Yes
}
else {
    // No
}
Run Code Online (Sandbox Code Playgroud)