Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ MySQL _ Pobranie z bazy numeru ostatniej faktury

Napisany przez: robson007 14.02.2018, 15:58:02

Witam,
mam problem z zapytaniem SQL chciałbym w bazie przechowywać numery faktur wg notacji:

KON/0001/2018
WAR/0001/2018
CAR/0001/2018

chcąc dodać poprzez formularz nową fakturę muszę pobrać numer ostatniej w danym rodzaju (KON,WAR,CAR) prosiłbym o pomoc z takim zapytaniem.

Napisany przez: sazian 14.02.2018, 19:42:07

Najprostsze rozwiązanie to zapisywać każdą z wartości osobno.
Czyli osobno zapisujesz serie(KON/WAR/CAR), numer(0001,0002...) i rok.
To ułatwi dodawanie, ale przy pobieraniu będziesz musiał zrobić concat lub będziesz musiał zrobić kolumnę wirtualna która domyślnie będzie robiła concata
https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html ostatni przykład

Napisany przez: phpion 14.02.2018, 23:07:25

Jeśli faktycznie musisz korzystać z gotowych pełnych numerów to po stronie bazy:
- REPLACE - żeby usuną zbędne elementy (litery, slashe) lub SUBSTRING - żeby wyciąć środek
- CAST - żeby zrzutować środek na liczbę
- MAX - żeby wyciągnąć najwyższa wartość
- LIKE - żeby wyszukiwać wśród konkretnego typu faktur.
Łącząc odpowiednio te elementy uzyskasz co potrzebujesz.

Napisany przez: robson007 3.03.2018, 07:07:12

Cytat(sazian @ 14.02.2018, 19:42:07 ) *
Najprostsze rozwiązanie to zapisywać każdą z wartości osobno.
Czyli osobno zapisujesz serie(KON/WAR/CAR), numer(0001,0002...) i rok.
To ułatwi dodawanie, ale przy pobieraniu będziesz musiał zrobić concat lub będziesz musiał zrobić kolumnę wirtualna która domyślnie będzie robiła concata
https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html ostatni przykład


Dzięki tak właśnie zrobiłem i jest ok.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)