0

如果您查看下面的 SQL,我在整理查询时遇到问题(让我发疯),请注意和/或。我基本上需要将 2 个类别中的艺术家的图像组合到一个调用中,但是如果我使用下面的 sql,我会得到第一个类别中的所有图像以及第二个类别中每个艺术家的所有图像,而不是那些对于特定的艺术家。如果您使用 AND 调用,它只会获取两者中的图像。所以基本上希望这是有道理的。感谢所有帮助。

SELECT i.img_name, i.ordered_by, i.img_description, a.artist_path_name, a.artist_id, a.artist_dir, a.artist_name, a.first_name, a.last_name, a.artist_titletag, a.artist_metadesc, a.artist_metakey, ck.catKey_id, ck.keyword
        FROM images AS i JOIN artists AS a USING (artist_id)
        JOIN img_cat_table AS imc USING (img_id)
        JOIN catKeys AS ck USING (catKey_id)
        WHERE artist_name = 'j' AND catKey_id = 5 OR catKey_id = 1
4

1 回答 1

2

如果您同时使用两者,AND/OR那么您将需要使用括号来确定顺序

WHERE (artist_name = 'j') AND (catKey_id = 5 OR catKey_id = 1)

甚至使用以下WHERE子句:

WHERE (artist_name = 'j') AND (catKey_id IN (5, 1))
于 2012-05-16T20:07:59.757 回答