Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dwie tabele, podmiana danych.
Dex1987
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


Witam,

mam przykładowo 2 table, uzytkownicy oraz plec.

Tabela: użytkownicy: id (int / 5), imie (varchar / 32), nazwisko (varchar / 32), plec (int / 1)
Tabela: plec id (int / 1), nazwa (varchar / 10)

Teraz w tabeli z użytkownikami zapisuje płeć jako 1 lub 2, a w tabeli płeć mam odpowiednio id dla Kobiety - 1, dla mężczyzny - 2.

Tu moje pytanie, czy da się ułożyć tak zapytanie aby w polu płeć (z tabeli użytkownicy) w kolumnie plec zamiast wartości 1/2 została wyświetlona wartość z tabeli płeć.

Przedstawie to jeszcze wizualnie. Przykładowe dane w tabli uzytkownicy:

Kod
1 Jan Kowlaski 2
2 Jan Nowak 2
3 Janina Kowalska 1


Tabela plec:

Kod
1 Kobieta
2 Mężczyzna


Wynik np.

Kod
1 Jan Kowlaski Mężczyzna
2 Jan Nowak Mężczyzna
3 Janina Kowalska Kobieta
Go to the top of the page
+Quote Post
nithajasz
post
Post #2





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


Tak swoją drogą robić tabele oddzielnie dla płci to nie jest nadmiar pracy? Masz i tak tylko dwie, góra trzy wartości, które mógłbyś wprowadzać do bazy zamiast odnosić się do nich poprzez id rekordu z innej tabeli. Prościej...
Go to the top of the page
+Quote Post
Dex1987
post
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


To jest tylko przykład.
Go to the top of the page
+Quote Post
nithajasz
post
Post #4





Grupa: Zarejestrowani
Postów: 230
Pomógł: 27
Dołączył: 27.05.2008
Skąd: Warszawa

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


No to odpowiem, że się da...

  1. SELECT u.id, u.name, s.name
  2. FROM users AS u, sex AS s
  3. WHERE u.sex = s.id;
  4.  
  5. LIMIT 0, 30


lub

  1. SELECT users.id, users.Name, sex.name
  2. FROM users INNER JOIN sex ON users.sex = sex.id
  3. LIMIT 0, 30


lub

zajrzyj tu : http://www.w3schools.com/Sql/sql_join.asp (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował nithajasz 9.06.2008, 15:11:38
Go to the top of the page
+Quote Post
pest
post
Post #5





Grupa: Zarejestrowani
Postów: 78
Pomógł: 15
Dołączył: 10.12.2007
Skąd: Lublin

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


Od takich spraw jak tutaj wspomniane są odpowiednie pola w tabelach.
Takim polem, o które się aż prosi jest pole ENUM (MySQL), lub ENUM (PostgreSQL).

Takie rozwiązanie jest dużo prostsze i pozwala uniknąć zbędnego łączenia tabel w zapytaniach.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 18:13