Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL ERROR 1349 Tôi đang thiếu gì?

Bạn đang thiếu thực tế là các khung nhìn trong MySQL không cho phép truy vấn con trong from mệnh đề. Chúng được phép trong selectwherehaving các mệnh đề, tuy nhiên.

tài liệu khá rõ ràng:

Trong trường hợp của bạn, bạn có thể viết lại from mệnh đề như một truy vấn con tương quan trong select mệnh đề. Bạn cũng có thể sử dụng nhiều lớp chế độ xem để làm những gì bạn muốn.

CHỈNH SỬA:

Câu lệnh SELECT trong SQL có các mệnh đề sau:SELECT , FROM , WHERE , GROUP BY , HAVINGORDER BY (theo tiêu chuẩn). Ngoài ra, MySQL còn thêm những thứ như LIMITINTO OUTFILE . Bạn có thể thấy điều này theo cách mà MySQL mô tả SELECT trong tài liệu . Bạn cũng có thể thấy điều này trong tài liệu cho hầu hết mọi cơ sở dữ liệu.

Các thao tác như join là một phần của FROM mệnh đề (tương tự WITH ROLLUP là một phần của GROUP BYDESC là một phần của ORDER BY ). Đây có vẻ giống như các quy ước cú pháp phức tạp, nhưng nó trở nên quan trọng khi có một hạn chế như ở trên.

Có lẽ một lý do cho sự nhầm lẫn là kiểu thụt lề giống như sau:

select . . .
from t1
inner join t2
     on . . .

Nơi các câu lệnh kết hợp xếp hàng dưới select . Điều này gây hiểu lầm. Tôi sẽ viết cái này là:

select 
from t1 join
     t2
     on . . .

Chỉ select các mệnh đề xếp hàng bên dưới select.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tạo một chuỗi tìm kiếm mysql động?

  2. Cấp đặc quyền đã chọn cho các hàng có điều kiện

  3. PHP Lỗi nghiêm trọng:Gọi đến hàm không xác định mysql_connect ()

  4. Cách cập nhật tất cả các ngày trong bảng

  5. mysql:hướng dẫn xác định ranh giới từ