【问题标题】:How to use Like statement?如何使用 Like 语句?
【发布时间】:2020-01-28 02:40:28
【问题描述】:

我遇到这样的错误:

您的 SQL 语法有错误;检查手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 靠近 'TANAH'%' AND 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'

【问题讨论】:

    标签: php sql codeigniter continuous-integration


    【解决方案1】:

    学会简洁地编写查询!

    • 使用正确的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';
    

    【讨论】:

      【解决方案2】:

      我认为问题在于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 Operator

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-22
        • 2013-09-07
        • 2015-12-15
        • 2019-10-12
        • 2020-01-17
        相关资源
        最近更新 更多