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

Tôi không thể nhận truy vấn tham gia mysql này để tạo ra kết quả mong muốn

Tôi khá chắc chắn rằng vấn đề của bạn là do GROUP BY của bạn mệnh đề. Không chắc chắn mục đích của bạn là gì khi sử dụng nó, nhưng hãy thử mà không cần nó. Nếu bạn nhận được các hàng trùng lặp, hãy thử sử dụng SELECT DISTINCT . Nếu mục đích của bạn là sắp xếp các kết quả dựa trên cột đó, thì hãy sử dụng ORDER BY .

Ngoài ra, chỉ định receipt_no hai lần trong WHERE mệnh đề là thừa. Hai bảng đó đã được nối với cột đó, vì vậy bạn chỉ cần lọc nó trong một bảng. Và các dấu gạch ngược không thực sự cần thiết ngoại trừ một số ngoại lệ đặc biệt, như dấu cách hoặc dấu phẩy trong tên cột hoặc các cột được đặt tên giống như các từ dành riêng (cũng có thể là một vài trường hợp khác). Cột duy nhất của bạn có vẻ như cần có dấu gạch ngược là date , nhưng ngay cả khi loại trừ chúng trên cột đó, bạn vẫn sẽ ổn. Tôi chỉ thấy rằng các dấu gạch ngược ở khắp mọi nơi làm cho truy vấn dài hơn và khó đọc hơn. Họ không làm hại bất cứ điều gì khi ở đó, vì vậy bạn có thể rời khỏi họ nếu đó là sở thích của bạn, nhưng cá nhân tôi, tôi không phải là một người hâm mộ.

Tôi đã viết lại truy vấn của bạn với các sửa đổi của tôi được đề cập ở trên, ngoài ra tôi đã đặt bí danh cho các bảng để rút ngắn hơn nữa. Điều này không cải thiện hiệu suất hay bất cứ điều gì, chỉ giúp đọc IMO dễ dàng hơn:

SELECT DISTINCT
    b.receipt_no, client, operator, discount, total_amount,
    amount_paid, balance, `date`, jobtitle, quantity,
    amount, date_paid, old_balance, debtor_amount_paid, new_balance
FROM
    booking b
    INNER JOIN jobtitle jt ON jt.bookingID = b.bookingID
    INNER JOIN first_graphics_debtors fgd ON fgd.receipt_no = b.receipt_no
WHERE
    b.receipt_no = '753263343'
ORDER BY
    jt.quantity


  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ổng số dữ liệu MySQL?

  2. Tự động thay đổi kết nối cơ sở dữ liệu trong cakephp 3

  3. Truy vấn giá trị cơ sở dữ liệu dựa trên vị trí của người dùng

  4. Cách lấy nhiều hàng từ cơ sở dữ liệu trong PHP

  5. MySQL:Làm thế nào để kích hoạt từ chối nhân viên chưa đủ tuổi?