私はこのような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つのデータを「SELECT」したいと思います。「bookmarked」は、次のクエリに正確に1行ある場合にTRUEの値を持ちます。
SELECT * FROM bookmarks WHERE photo_id = 35 and facebook_id = 19484;
それ以外の場合、「bookmarked」の値は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で作業できます。