Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Jak pobrać info z której bazy pobrał rekord przy poleceniu UNION
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Chodzi mi o to ze mam 2 bazy na przyklad

baza zwierzeta


id, imie,wiek
1 burek 5
2 kicia 3
3 max 12


baza ludzie

id, imie, wiek
1 marta 14
2 kasia 12
3 konrad 19


no i chce sobie pobrac wiek z tych 2 tabel

select imie,wiek from zwierzeta union select imie,wiek from ludzie

i teraz nadchodzi sedno sprawy

while($row=mysql_fetch_assoc($sql))
{

$row['imie'] ma $row['wiek'] lat, dane pobrane z tabeli (i tutaj chcialbym napisać, z której tabeli wzial dane)

}


domyslam sie ze są 2 opcje
1. nie da się bez dodatkowych kolumn kontrolnych w tabelach.
2. nalezy przy pobieraniu nadać jakąś dodatkową zmienną, jeśli tak to jak to zrobić?
croc
Musisz pobrać pseudokolumnę we wszystkich połączonych zapytaniach.
neo1986kk
no to sie domysllilem ale jak to zrobic walsnie

mam poprostu do zapytania dodac np

select *, pseudo='z' as pseudo from zwierzeta union select *, pseudo='l' as pseudo from ludzie
while($row=mysql_fetch_assoc($sql))
{

if($row['pseudo']==z) //zwierzeta
else //ludzie

}

dobrze kombinuję?

no to sie domysllilem ale jak to zrobic walsnie

mam poprostu do zapytania dodac np

select *, pseudo='z' as pseudo from zwierzeta union select *, pseudo='l' as pseudo from ludzie
while($row=mysql_fetch_assoc($sql))
{

if($row['pseudo']==z) //zwierzeta
else //ludzie

}

dobrze kombinuję?
croc
Prawie smile.gif

  1. SELECT *, 'z' AS pseudo FROM zwierzeta UNION SELECT *, 'l' FROM ludzie


W drugiej tabeli już nie musisz podawać aliasu, bo i tak pola muszą się zgadzać po kolei.
neo1986kk
a nie wyswietli mi bledu ze nie ma kolumny "z" w tabeli?
croc
Ale to forum dzisiaj zamula... closedeyes.gif

Możesz pobierać bez oporów dane będące czymś innym niż wartości z pól. Pamiętaj, że zgodnie ze składnią SQL nawet zapytania w stylu:
  1. SELECT 1, 5 - 8, 'kapusta'

są jak najbardziej poprawne smile.gif
neo1986kk
no zamula strasznie, aha no to dzięki za pomoc, pozdrawiam
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.