![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 23.05.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Robie skrypt, aby usprawnic obsluge mojej domowej prywatnej biblioteczki.
Czesto pozyczam ksiazki i zapominam o tym a znudzilo mi sie zapisywanie na karteczkach ktore czesto sie gubia. Chcialem uzyskac wszystkie wypozyczone ksiazki przez dana osobe, pozyskac nazwy osoby ktora wypozyczyla oraz dane dokumentu oraz pare innych danych. Napisalem takie zapytanie:
Ale wyswietlalo niepoprawne wyniki: Kod +----+------------+----------+-------------+----------+---------+-----------+--------+------------------+---------+ | Id | LendDate | LendDays | MaxLendTime | PersonId | SurName | ForeName | ItemID | Title | Author | +----+------------+----------+-------------+----------+---------+-----------+--------+------------------+---------+ | 7 | 26/07/2005 | 2 | 21 | 1 | Bl | Krz | 2 | Rozwijanie poj?? | Henryk | | 8 | 26/07/2005 | 2 | 14 | 1 | B | K | 12 | NULL | NULL | | 7 | 26/07/2005 | 2 | 21 | 1 | B | K | 2 | NULL | NULL | | 6 | 26/07/2005 | 2 | 14 | 2 | Bl | Krz | 1 | NULL | NULL | | 6 | 26/07/2005 | 2 | 14 | 2 | B | K | 1 | Matematyka nauk? | W.W.Saw | | 8 | 26/07/2005 | 2 | 14 | 1 | Bl | Krz | 12 | c++ | tony.l | +----+------------+----------+-------------+----------+---------+-----------+--------+------------------+---------+ Wiec poprawilem to tak
Kod +----+------------+----------+-------------+----------+---------+-----------+--------+---------+---------+ | Id | LendDate | LendDays | MaxLendTime | PersonId | SurName | ForeName | ItemID | Title | Author | +----+------------+----------+-------------+----------+---------+-----------+--------+---------+---------+ | 6 | 26/07/2005 | 2 | 14 | 2 | B | K | 1 | Matemat | W.W.Saw | | 7 | 26/07/2005 | 2 | 21 | 1 | Bl | Krz | 2 | Rozwija | Henryk | | 8 | 26/07/2005 | 2 | 14 | 1 | Bl | Krz | 12 | c++ | tony.l | +----+------------+----------+-------------+----------+---------+-----------+--------+---------+---------+ Pozbylem sie nuli ale chcialem jeszcze uzyskac dla konkretnej osoby a nie wszystkie wiec zrobilem tak:
Kod +----+------------+----------+-------------+----------+---------+-----------+--------+--------+----------+ | Id | LendDate | LendDays | MaxLendTime | PersonId | SurName | ForeName | ItemID | Title | Author | +----+------------+----------+-------------+----------+---------+-----------+--------+--------+----------+ | 7 | 26/07/2005 | 2 | 21 | 1 | Bl | Krz | 2 | Rozwij | Henryk M | | 8 | 26/07/2005 | 2 | 14 | 1 | Bl | Krz | 12 | c++ | tony.l h | +----+------------+----------+-------------+----------+---------+-----------+--------+--------+----------+
Kod +----+------------+----------+-------------+----------+---------+----------+--------+-----------+---------+ | Id | LendDate | LendDays | MaxLendTime | PersonId | SurName | ForeName | ItemID | Title | Author | +----+------------+----------+-------------+----------+---------+----------+--------+-----------+---------+ | 6 | 26/07/2005 | 2 | 14 | 2 | B | K | 1 | Matematyk | W.W.Sar | +----+------------+----------+-------------+----------+---------+----------+--------+-----------+---------+ No ale zapytanie zrobilo sie kolosalne i malo czytelne. Pozatym watpie czy bedzie dzialac poprawnie jesli zabraknie ktorejs z danych. Macie jakis pomysl jak to zapisac inaczej? Bede wdzieczny za kazda pomoc :] |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie może większe ale logiczne - w poprzednim zapytaniu najpierw robiłeś left join do dokumentów a potem w WHERE dałeś warunek wykluczający puste dokumenty (d.Title!=''). Cytat No ale zapytanie zrobilo się kolosalne i mało czytelne. Czytelność zależy od formatowania, a kolosalne to ono nie jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:49 |