我遇到这样的错误:
您的 SQL 语法有误;请查看手册 对应于您的MariaDB服务器版本,以便使用正确的语法 接近"TANAH"%"和a.id_bencana=b.id_bencana和 第 1 行的 a.id_daerah=c.id_kelurahan 和 c.id_k'
SELECT a.tgl_kejadian,b.nama_bencana,a.alamat,c.nama_kelurahan,d.nama_kecamatan,a.kerugian,a.keterangan
FROM data_kejadian a , data_bencana b, kelurahan c, kecamatan d
WHERE b.nama_kejadian LIKE '%'TANAH'%' AND a.id_bencana=b.id_bencana
AND a.id_daerah=c.id_kelurahan AND c.id_kecamatan=d.id_kecamatan AND a.tgl_kejadian
BETWEEN '2019-12-03' AND '2020-01-10'
学习干净地编写查询!
- 使用正确的
JOIN
语法。 - 使用有意义的表别名。
您的问题是引号放错位置:
SELECT a.tgl_kejadian, b.nama_bencana, a.alamat,
k.nama_kelurahan, kc.nama_kecamatan, a.kerugian, a.keterangan
FROM data_kejadian a JOIN
data_bencana b
ON a.id_bencana = b.id_bencana JOIN
kelurahan k
ON a.id_daerah = c.id_kelurahan JOIN
kecamatan kc
ON kc.id_kecamatan = k.id_kecamatan
WHERE b.nama_kejadian LIKE '%TANAH%' AND
a.tgl_kejadian BETWEEN '2019-12-03' AND '2020-01-10';
我认为问题是TANAH
之间的引号。
将其更改为:
SELECT a.tgl_kejadian,b.nama_bencana,a.alamat,c.nama_kelurahan,d.nama_kecamatan,a.kerugian,a.keterangan
FROM data_kejadian a , data_bencana b, kelurahan c, kecamatan d
WHERE b.nama_kejadian LIKE '%TANAH%' AND a.id_bencana=b.id_bencana
AND a.id_daerah=c.id_kelurahan AND c.id_kecamatan=d.id_kecamatan AND a.tgl_kejadian
BETWEEN '2019-12-03' AND '2020-01-10'
要了解有关LIKE
运算符的更多信息,您可以在此处阅读:SQL LIKE 运算符