我使用类似这样的 mySQL 查询来获取我需要的有关照片的一些信息:
SELECT
users.first_name,
users.last_name,
photos.filename,
photos.YEAR,
photos.description,
themes.name AS theme_name
FROM
`photos`,
`users`,
`themes`
WHERE
users.facebook_id = photos.author AND
themes.id = photos.theme AND
photos.id = 35
LIMIT 1;
如果以下查询正好有 1 行,我想用这个查询“选择”一条数据,“书签”,它的值为 TRUE:
SELECT * FROM bookmarks WHERE photo_id = 35 and facebook_id = 19484;
否则“书签”的值为 FALSE。
这可以在单个查询中完成吗?
编辑- 我稍微改变了 Tadman 的解决方案。在这里,完美运行!
SELECT
users.first_name,
users.last_name,
photos.filename,
photos.YEAR,
photos.description,
themes.name AS theme_name,
bookmarks.id AS bookmark
FROM
`photos`,
`users`,
`themes`
LEFT JOIN bookmarks ON bookmarks.photo_id = 35 AND bookmarks.facebook_id = 19484
WHERE
users.facebook_id = photos.author AND
themes.id = photos.theme AND
photos.id = 35
LIMIT 1;
此解决方案不会将“书签”设置为 TRUE 或 FALSE,但我可以使用 NULL 与非 NULL。