Estoy bastante seguro de que su problema se debe a su GROUP BY
cláusula. No estoy seguro de cuál era su objetivo al usar eso, pero intente sin él. Si obtiene filas duplicadas, intente usar SELECT DISTINCT
. Si su objetivo era ordenar los resultados en función de esa columna, utilice ORDER BY
.
Además, especificando el receipt_no
dos veces en el WHERE
cláusula es redundante. Esas dos tablas ya están unidas por esa columna, por lo que todo lo que necesita hacer es filtrarlas en una tabla. Y los acentos graves no son realmente necesarios excepto por algunas excepciones especiales, como espacios o comas en el nombre de la columna, o columnas con el mismo nombre que las palabras reservadas (pueden ser algunas otras también). La única columna tuya que parece que necesita acentos graves es la date
columna, pero incluso excluyéndolos en esa columna, aún debería estar bien. Solo encuentro que las comillas invertidas en todas partes hacen que la consulta sea más larga y más difícil de leer. No dañan nada estando allí, así que puedes dejarlos si así lo prefieres, pero personalmente, no soy un fanático.
Reescribí su consulta con mis modificaciones mencionadas anteriormente, además le di alias a las tablas para acortarla aún más. Esto no mejora el rendimiento ni nada, solo facilita la lectura de la OMI:
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