我想知道是否可以创建一个WHERE子句有一个条件但值是数组的查询。
这是代码&数据库中的图像相关表:
//array in user.id_lokasi => (PL001,PL002,PL003)
SELECT * FROM `lokasi`
WHERE `id_lokasi` IN (SELECT id_lokasi FROM user WHERE id_user='admin')
答案 0 :(得分:2)
您的上述查询应该已经有效。关于你的问题,如果你想在WHERE中使用一组id_lokasi,你可以这样做:
SELECT * FROM `lokasi`
WHERE `id_lokasi` IN ('PL001', 'PL002', 'PL003');
对于您的原始查询,您可以像这样重写它以避免子查询:
SELECT l.* FROM `lokasi` l
LEFT JOIN user u ON
u.id_lokasi = l.id_locasi AND u.id_user = 'admin'