Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: niejdnoznacznosc
Forum PHP.pl > Forum > Bazy danych
php programmer
Pewnie jest to juz gdzies na forum, ale nie wiem jakiego słowa by użyć żeby mi znalazło taki problem,

Mam dwie tabele,
niektóre nazwy pól z tych tabel się powtarzają
np powiedzmy, że obydwie mają pole telefon

i teraz robie zapytanie złożone które pobiera dane z obydwu tabel
tak się składa że potrzebuje telefon zarówno z jednej jak i z drugiej tabeli

  1. <?php
  2. $row = mysql_fetch_array($result);
  3. echo $row['telefon'];
  4.  
  5. ?>


No i mam teraz pytanie: Jak to zrobić, aby powiedzieć, że chodzi mi o ten pierwszy elefon a nie drugi

pseudokod:
  1. <?php
  2. $row = mysql_fetch_array($result);
  3. echo $row['tabela1.telefon'];
  4.  
  5. ?>



ps. wolałbym uniknąc jesli to możliwe używania zapytania typu:
  1. SELECT tabela1.telefon AS telefon1 ...

czy da się to zrobić na poziomie php, a nie w zapytaniu SQL
mike
Nie da się.
Po to są aliasy żeby je stosować i nie mam pojęcia dlaczego chcesz ich uniknąć skoro po to właśnie zostały stworzone.
php programmer
bo aliasy strasznie wydłużają zapytanie
w przykładzie miałem tylko jedno powtarzające się pole
ale często są dwa lub trzy

zamiast
  1. SELECT *
  2. FROM tabela1,tabela2
  3. WHERE ...

musze pisać
  1. SELECT t1.id AS id1,t2.id AS id2,t1.telefon AS telefon1,t2.telefon AS telefon2,
  2. FROM tabela1
  3. t1, tabela2 t2 WHERE ...


od razu widać - zapytanie jest mniej czytelne,
tort
Cytat(php programmer @ 2006-02-18 15:23:22)
od razu widać - zapytanie jest mniej czytelne

No to albo zmień nazwy kolumn, żeby się nie powtarzały, albo rób tak, jak ci mike_mech napisał. Innego wyjścia nie ma.
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.