# 1064 - у вас есть ошибка в вашем синтаксисе SQL в phpMyadmin - PullRequest
0 голосов
/ 06 декабря 2018

Я построил следующий запрос для MySQL на Maria Db, phpMyAdmin Ver: 4.8.3

Сервер базы данных

Server: 127.0.0.1 via TCP/IP
Server type: MariaDB
Server connection: SSL is not being used Documentation
Server version: 10.1.36-MariaDB - mariadb.org binary distribution
Protocol version: 10

Веб-сервер

Apache/2.4.34 (Win32) OpenSSL/1.1.0i PHP/7.2.10
Database client version: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation
PHP version: 7.2.10

SQL

SELECT tblhoadon.MaHoaDon, 
       tblkhachhang.HoVaTen, 
       tblphongtro.MaSoPhong, 
       tblphongtro.GiaThue, 
       tbldichvu.MaDichVu, 
       tblchitietdv.TenChiPhi, 
       tblchitietdv.ThanhTien, 
       tblhoadon.TongTien 
FROM tblhoadon, 
     tblphongtro,
     tbldichvu,
     tblchitietdv 
WHERE tblhoadon.MaKhachHang = tblkhachhang.MaKhachHang, 
      tblhoadon.MaSoPhong   = tblphongtro.MaSoPhong,
      tblhoadon.MaDichVu    = tbldichvu.MaDichVu,
      tbldichvu.MaDichVu    = tblchitietdv.MaDichVu LIKE 10040001

Ошибка отчета

1064 - в синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MariaDB, для правильного синтаксиса, чтобы использовать

рядом с 'tblhoadon.MaSoPhong = tblphongtro.MaSoPhong, tblhoadon.MaDichVu = tbldichvu.MaD' в строке 1

* 10181019 * Можете ли вы помочь мне исправить синтаксическую ошибку?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы не можете просто иметь ряд условий.Вам нужен какой-то логический оператор между ними, например and или or.Кроме того, последнее условие имеет несколько проблем:

  1. like` должен принимать строковый аргумент, а не число
  2. Вы не можете соединять равенства подобным образом, вы должны создать два условия слогический оператор and между ними.
  3. Хотя использование like без подстановочного знака не является строго неправильным, это немного бессмысленно, и вы можете просто использовать условие =:

SELECT tblhoadon.MaHoaDon, 
       tblkhachhang.HoVaTen, 
       tblphongtro.MaSoPhong, 
       tblphongtro.GiaThue, 
       tbldichvu.MaDichVu, 
       tblchitietdv.TenChiPhi, 
       tblchitietdv.ThanhTien, 
       tblhoadon.TongTien 
FROM tblhoadon, 
     tblphongtro,
     tbldichvu,
     tblchitietdv 
WHERE tblhoadon.MaKhachHang = tblkhachhang.MaKhachHang AND 
      tblhoadon.MaSoPhong   = tblphongtro.MaSoPhong AND
      tblhoadon.MaDichVu    = tbldichvu.MaDichVu AND
      tbldichvu.MaDichVu    = tblchitietdv.MaDichVu AND
      tblchitiedv.MaDichVu = '10040001'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...