Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie SQL
one_eddie
post 7.07.2005, 21:52:50
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 23.05.2003
Skąd: Polska

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


Mam 2 tabele:

Kod
Tabela Logi:
+----+---------+------+
| id | idosoby | data |
+----+---------+------+

tabela osoby:
+----+------+----------+
| id | imie | nazwisko |
+----+------+----------+


napisalem zapytanie ktore wypisuje mi wszystkie logi i zamiast wraz z id pokazuje imie nazwisko:

Tabela wynikowa:
Kod
+----+---------+------+----------+------+
| id | idosoby | imie | nazwisko | data |
+----+---------+------+----------+------+


Napisalem to tak:

  1. SELECT l.Id, l.idosoby, o.imie, o.nazwisko, l.DATA
  2. FROM logi l, osoby o WHERE o.Id = l.idosoby ORDER BY l.DATA;


Wszystko jest ok tyle ze jest jeszcze admin ktorego nie chce trzymac razem z osobami jego id jest rowne 0. Wiec probowalem zamienic zapytanie na:

  1. SELECT l.Id, l.idosoby, o.imie, o.nazwisko, l.DATA
  2. FROM logi l, osoby o WHERE (o.Id = l.idosoby) OR (l.idosoby=0) ORDER BY l.DATA;


Ale to nie daje poprawnych wynikow?

jesli ktos ma jakis pomysl jak to napisac bede wdzieczny.


--------------------
Potrzebujesz oprogramowania dla firmy lub do użytku prywatnego? Zajrzyj na http://www.virgotech.pl
Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
one_eddie
post 7.07.2005, 22:41:55
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 23.05.2003
Skąd: Polska

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


Wielkie dzieki poprawilem to
  1. SELECT *
  2. FROM logi l LEFT JOIN osoby o ON (l.idosoby=o.logi AND l.idosoby!=0)


na:

  1. SELECT l.Id, l.idosoby, o.imie, o.nazwisko, l.DATA
  2. FROM logi l LEFT JOIN osoby o ON (l.idosoby=p.id AND l.idosoby!=0)


i dziala smile.gif

jesli nie ma osoby daje NULL-e jesli jest pojawiaja sie dane
To zapytanie ktore prze-edytowales dzialalo to:

  1. ELECT *
  2. FROM logi l LEFT JOIN osoby o ON (l.idosoby=o.logi) WHERE l.idosoby!=0


nie dziala. Podaje tylko te wpisy ktore maja dane. pozatym musialem we obydwu poprawic o.logi na o.id, nie wiem co rozumiesz przez o.logi ale jest to blad.

Dzieki!

Ten post edytował one_eddie 7.07.2005, 22:46:48


--------------------
Potrzebujesz oprogramowania dla firmy lub do użytku prywatnego? Zajrzyj na http://www.virgotech.pl
Sklep z gotowymi programami, grami oraz kodami źródłowymi. Zajrzyj na http://www.sklep.virgotech.pl
Go to the top of the page
+Quote Post

Posty w temacie


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: 25.06.2025 - 17:58