Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie mogę uzyskać tego zapytania sprzężenia mysql, aby uzyskać pożądany wynik

Jestem prawie pewien, że Twój problem wynika z Twojego GROUP BY klauzula. Nie jesteś pewien, jaki był twój cel w użyciu tego, ale spróbuj bez tego. Jeśli otrzymasz zduplikowane wiersze, spróbuj użyć SELECT DISTINCT . Jeśli Twoim celem było uporządkowanie wyników na podstawie tej kolumny, użyj ORDER BY .

Ponadto, określając receipt_no dwa razy w WHERE klauzula jest zbędna. Te dwie tabele są już połączone tą kolumną, więc wystarczy przefiltrować je w jednej tabeli. A znaki wsteczne nie są tak naprawdę potrzebne, z wyjątkiem pewnych specjalnych wyjątków, takich jak spacje lub przecinki w nazwie kolumny lub kolumny o nazwach takich samych jak słowa zastrzeżone (może być też kilka innych). Jedyną Twoją kolumną, która wygląda na to, że potrzebuje backticków, jest date kolumna, ale nawet wykluczenie ich w tej kolumnie, nadal powinno być w porządku. Po prostu uważam, że wszędzie widoczne znaki wsteczne powodują, że zapytanie jest dłuższe i trudniejsze do odczytania. Nic nie krzywdzą będąc tam, więc możesz je zostawić, jeśli masz takie preferencje, ale osobiście nie jestem ich fanem.

Przepisałem twoje zapytanie z moimi modyfikacjami wspomnianymi powyżej, a także nadałem tabelom aliasy, aby je jeszcze skrócić. Nie poprawia to wydajności ani nic, po prostu ułatwia czytanie IMO:

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. Jak włączyć mysqlnd dla php?

  2. przejście z MySQL na PostgreSQL dla Ruby on Rails ze względu na Heroku

  3. Otrzymywanie błędu zduplikowanej nazwy kolumny w Django bez wyraźnego powodu

  4. Klasy zagnieżdżone — CustomRowMapper !! To już nie problem!! - Część 1

  5. Jak kontrolujemy dynamiczne porządkowanie według pola w tabeli?