Как использовать лайк-заявление? - PullRequest
0 голосов
/ 28 января 2020

Я сталкиваюсь с такой ошибкой:

В вашем синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'TANAH'% 'И a.id_bencana = b.id_bencana AND a.id_daerah = c .id_kelurahan AND c .id_k' в строке 1

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'

Ответы [ 2 ]

3 голосов
/ 28 января 2020

Научитесь правильно писать запросы!

  • Используйте правильный синтаксис 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';
1 голос
/ 28 января 2020

Я думаю, что проблема в кавычках между 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 НРАВИТСЯ оператор

...