![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.01.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Fakty:
- w bazie danych zapisuje informacje [sql:1:f058706ba5] create table kwota{ od_kw int; do_kw int} [/sql:1:f058706ba5] od_kw i do_kw moga byc wartosciami null badz jakimis liczbami. Nastepnie chce wywolac zapytanie [sql:1:f058706ba5] select a.nazw from www as a, kwota as b where a.kwota>b.od_kw and a.kwota<b.do_kwota; [/sql:1:f058706ba5] Wszystko jest dobrze gdy od_kw do_kw sa podane. Ale gdy od_kwota lub do_kwota jest null tzn kwota nie ma ograniczenia dolnego lub gornego zapytanie sie wysypie. Jak mozna rozwiazac ten problem? Moze jakos inaczej zapisac w bazie dane ktore nie maja ograniczenia gornego lub dolnego? Z gory dziekuje za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Poczytaj o IF, IFNULL w manualu do MySQL.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Może tak?
[sql:1:d83d06ade9] select a.nazw from www as a, kwota as b where IFNULL(a.kwota,0)>IFNULL(b.od_kw,0) and IFNULL(a.kwota,0)<IFNULL(b.do_kwota,0); [/sql:1:d83d06ade9] Ogólnie - poczytaj o IFNULL i daj je tam, gdzie spodziewasz się że może wystąpić wartość NULL. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 00:51 |