Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Złożony warunek where dla dwóch pól
gawar
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


Witam, Mam problem z przygotowaniem warunku, który wyświetlałby faktury zależne od numeru składającego się z dwóch pól w bazie.
Numer faktury składa się z roku i jakiegoś unikatowego trzy cyfrowego numeru.
Chciałbym napisać warunek, który wyświetli mi faktury np z przedziału od 2015/12 do 2016/15. Próbowałem z between ale nie działało to tak jak trzeba gdyż najpierw wybierało dane po jednym warunku a dopiero potem po drugim. i gdy faktura z roku 2015 miała unikatowy numer większy niż 15 to już tego mi nie wyświetlało:(
Zacząłem kombinować ze znakami "mniejsze" "większe" ale też nie działa to tak jak powinno, znów wyświetla numery tylko do 15:

  1. WHERE (
  2. m.zg_rok >=2015
  3. AND m.zg_numer >=12
  4. ) AND( m.zg_rok <=2016
  5. AND m.zg_numer <=15 )


Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1. WHERE m.zg_rok*1000+m.zg_numer BETWEEN (2015*1000+12) AND (2015*1000+15)

Coś takiego mi do głowy przychodzi tylko, ale lepiej gdybyś sobie zrobił osobne pole na ten numer.
Go to the top of the page
+Quote Post
gawar
post
Post #3





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


mam w osobnych polach : w jednym jest rok a w drugim ten numer trzy cyfrowy
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Takie tam:
Kod
SELECT * FROM fv WHERE CONCAT(rok,LPAD(nr, 3, 0)) BETWEEN 2015005 AND 2016006


PS. Koledze chodzi o to żebyś w oddzielnym polu trzymał cały sklejony nr.

Ten post edytował Pyton_000 24.05.2016, 17:16:53
Go to the top of the page
+Quote Post
gawar
post
Post #5





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


a jak to wdrożyć jeżeli używam PDO i idzie to prze PHP? nie wiem jak dodać te zera z przodu jak binduje wartości ze zmiennych?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


http://php.net/manual/en/function.str-pad.php
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 Aktualny czas: 20.08.2025 - 11:47