sql >> Database teknologi >  >> RDS >> Mysql

Jeg kan ikke få denne mysql join-forespørgsel til at producere det ønskede resultat

Jeg er ret sikker på, at dit problem skyldes din GROUP BY klausul. Ikke sikker på, hvad dit mål var med at bruge det, men prøv uden det. Hvis du får dublerede rækker, så prøv at bruge SELECT DISTINCT . Hvis dit mål var at sortere resultaterne baseret på den kolonne, så brug ORDER BY .

Angivelse af receipt_no to gange i WHERE klausul er overflødig. Disse to tabeller er allerede forbundet af den kolonne, så at filtrere den i én tabel er alt, hvad du behøver at gøre. Og backticks er egentlig ikke nødvendige bortset fra nogle særlige undtagelser, som mellemrum eller kommaer i kolonnenavnet, eller kolonner, der hedder det samme som reserverede ord (kan også være et par andre). Din eneste kolonne, der ser ud til at have brug for backticks, er date kolonne, men selv om du ekskluderer dem i den kolonne, burde du stadig have det fint. Jeg oplever bare, at backticks overalt gør forespørgslen længere og sværere at læse. De skader ikke noget ved at være der, så du kan forlade dem, hvis det er din præference, men personligt er jeg ikke fan.

Jeg omskrev din forespørgsel med mine ændringer nævnt ovenfor, plus jeg gav tabellerne aliasser for at forkorte den yderligere. Dette forbedrer ikke ydeevnen eller noget, det gør det bare nemmere at læse 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. Dynamisk rullemenu for forskellige lande, stater, geografiske placeringer?

  2. mysqli - fetch_Array fejlkald til en medlemsfunktion fetch_array() på et ikke-objekt mysqli

  3. Hvordan indsætter man en række i en tabel, der kun har en enkelt autoincrement-kolonne?

  4. Tidsstempel felter i django