Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie z bazy numeru ostatniej faktury
robson007
post 14.02.2018, 15:58:02
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.07.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
sazian
post 14.02.2018, 19:42:07
Post #2





Grupa: Zarejestrowani
Postów: 1 043
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


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/cre...ed-columns.html ostatni przykład
Go to the top of the page
+Quote Post
phpion
post 14.02.2018, 23:07:25
Post #3





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post
robson007
post 3.03.2018, 07:07:12
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.07.2005

Ostrzeżenie: (0%)
-----


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/cre...ed-columns.html ostatni przykład


Dzięki tak właśnie zrobiłem i jest ok.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 17:41