Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwie tabele, podmiana danych.
Forum PHP.pl > Forum > Bazy danych > MySQL
Dex1987
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
nithajasz
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...
Dex1987
To jest tylko przykład.
nithajasz
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 smile.gif
pest
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.