Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jakie zapytanie? (pozdapytanie?), wybierz cos z jednej tabeli na podstawie
voytass
post 5.02.2005, 17:40:39
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 15.04.2002
Skąd: Warszawa

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


mam dwie tabele: jedna zawiera np dane o notebookach a druga tabela dane o wypozyczeniach notebookow.

pierwsza tabela (notebooki):

Kod
id -- nazwa -- numer
------------------------
1    dellA       1111
2    dellB       22222
3    dellC      333333
4    dellD      4444444



druga tabela (historia):

Kod
id  -- ntid  -- data --  zwrot
-------------------------------
1      2        data1       1
2      1        data2       0
3      4        data3       0

ntid - id notebooka

jak wyznaczyc (nazwa, numer) jednym zapytaniem te notebooki ktorych wartosc pola 'zwrot' jest '0'?

MySQL 4.0.20

Ten post edytował voytass 5.02.2005, 17:42:05


--------------------
Wojtek@7; Wojtek@ogniwo.net; [Simple Forum - 100% - phpclasses.org]; MCP
Go to the top of the page
+Quote Post
skobek
post 5.02.2005, 18:07:29
Post #2





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2003

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


witam,

jezeli Cie dobrze zrozumialem to cos takiego powinno zadzialac:

  1. SELECT
  2. *
  3. FROM notebooki n LEFT OUTER JOIN historia h ON n.id=h.ntid
  4. WHERE h.zwrot = 0


--------------------
Go to the top of the page
+Quote Post
voytass
post 5.02.2005, 18:59:46
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 15.04.2002
Skąd: Warszawa

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


tak, dziala, dzieki

jeszcze nie rozumiem calkowicie tego lewostronnego zlaczania zewnetrznego (chyba tak sie to nazywa)

a mam jeszcze jedno pytanie:

a jak wybrac te notebooki z tabeli pierwszej, ktorych nie ma w tabeli 2 ale bacząc tylko na rekordy 'zwrot=0'?


--------------------
Wojtek@7; Wojtek@ogniwo.net; [Simple Forum - 100% - phpclasses.org]; MCP
Go to the top of the page
+Quote Post
skobek
post 5.02.2005, 19:21:26
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2003

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


najlepiej napisz co by zapytanie mialo zwrocic z tych dwoch tabel, jezeli zapytanie ponizej nie zwraca tego co chciales:

  1. SELECT
  2. *
  3. FROM notebooki n LEFT OUTER JOIN historia h ON n.id=h.ntid
  4. WHERE h.zwrot != 0


--------------------
Go to the top of the page
+Quote Post
voytass
post 5.02.2005, 19:30:12
Post #5





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 15.04.2002
Skąd: Warszawa

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


nie tak, chodzi mi o wybranie tych notebookow z pierwszej tablicy, ktorych id nie wystepuja w rekordach charakteryzujacych sie tym, ze maja zwrot=0 (nie bierzemy pod uwage innych rekordow , z roznym od 0 'zwrot')

czyli cos takiego odwrotnego jak do tego pierwszego pytania.

Ten post edytował voytass 5.02.2005, 19:31:01


--------------------
Wojtek@7; Wojtek@ogniwo.net; [Simple Forum - 100% - phpclasses.org]; MCP
Go to the top of the page
+Quote Post
skobek
post 5.02.2005, 21:14:44
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 9.10.2003

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


sprawdz tak:

  1. SELECT *
  2. FROM notebooki n LEFT OUTER JOIN historia h ON n.id=h.ntid AND h.zwrot=0
  3. WHERE h.ntid IS NULL


Czy o to chodziło?


--------------------
Go to the top of the page
+Quote Post
voytass
post 6.02.2005, 09:28:59
Post #7





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 15.04.2002
Skąd: Warszawa

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


dzieki, tak dziala


--------------------
Wojtek@7; Wojtek@ogniwo.net; [Simple Forum - 100% - phpclasses.org]; MCP
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: 1.07.2025 - 10:12