我的数据库正在列出工作。我希望用户能够查询来自特定行业的作业,但是可以根据需要从type
列中选择尽可能多的工作类型,例如:
SELECT * FROM `rec_jobs`
WHERE `industry` LIKE '%Security%' AND
(`type` LIKE '%Full-Time%' OR 'type' LIKE '%Part-Time%' OR 'type' LIKE '%Casual%' OR 'type' LIKE '%Contract%');
这应该返回类似:
ID - Industy - 输入
1 - 安全 - 兼职
2 - 安全 - 全职
3 - 安全 - 休闲
4 - 安全 - 全职
等
但它没有按预期工作 - 我没有得到任何SQL错误或任何结果(虽然我知道行存在)。
有没有人知道实现这一目标的更好方法(或在Google中搜索的正确术语)?
答案 0 :(得分:5)
您应该在列名称类型周围使用相同的引号:
SELECT *
FROM `rec_jobs`
WHERE `industry` LIKE '%Security%'
AND (
`type` LIKE '%Full-Time%'
OR `type` LIKE '%Part-Time%'
OR `type` LIKE '%Casual%'
OR `type` LIKE '%Contract%');
答案 1 :(得分:2)
如果您知道要查找的确切字符串,请使用IN()
SELECT * FROM `rec_jobs`
WHERE `industry` = 'Security'
AND `type` IN ('Full-Time', 'Part-Time', 'Casual', 'Contract')
答案 2 :(得分:2)
您使用了
'type'
虽然它应该是
`type`
答案 3 :(得分:1)
SELECT * FROM rec_jobs
WHERE type IN ('Full-Time', 'Part-Time', 'Casual', 'Contract')
AND industry`='Security'