你LIKE
條款是錯誤的。我懷疑你打算使用an IN()
clause代替:
AND audienceuploadassociation.audiencename IN ('Parents', 'Teachers', 'Community')
如果你想與LIKE
匹配部分字符串,則需要在()
組一起OR
它們,如:
AND (
audienceuploadassociation.audiencename LIKE 'Parents%'
OR audienceuploadassociation.audiencename LIKE 'Teachers%'
OR audienceuploadassociation.audiencename LIKE 'Community%'
)
注此外,您正在使用的隱式連接語法(以逗號分隔的表格)已被棄用,以支持明確的JOIN
。
SELECT
uploads.*,
audienceuploadassociation.*
FROM
/* Explicit JOIN with ON clause */
uploads
JOIN audienceuploadassociation ON uploads.upload_id = audienceuploadassociation.upload_id
WHERE
uploads.member_id = '1'
AND uploads.member_school_id='1'
AND subject = 'Maths'
AND topic = 'Integers'
AND year IN(7, 8, 9)
AND audienceuploadassociation.audiencename IN ('Parents', 'Teachers', 'Community')
最後,我會建議明確指定你想要的列而不是做SELECT *
,所以你讓他們在一個確定的順序,謹防加入後其他列的,你不要在此查詢需要:
SELECT
uploads.upload_id,
uploads.other_column,
uploads.topic,
audienceuploadassociation.audiencename,
...
...
你能告訴我們你面臨什麼問題,什麼是表格結構,表格中的數據是什麼以及需要的輸出是什麼? – JHS