Autor Zpráva
Radovan789
Profil *
Dobrý den,

mám dvě následující tabulky:

tabulka: informace
id , text, id_objekt
1, "ahoj", 50

tabulka: objekty
id, objekt
50, "objekt"
51, "objekt"

Vytvořil jsem si tento dotaz:
SELECT * FROM informace
INNER JOIN objekty ON informace.id_objekt = objekty.id

Dotaz mi vrátí 1 řádek. Problém nastává vtom když si chci vypsat ID, vypíše se mi hodnota 50, jak mám svůj dotaz upravit aby se mi zobrazilo ID 1

Děkuji za rady...
Alphard
Profil
select *, informace.id as iid
Bude pod klíčem iid, as lze vynechat.
Radovan789
Profil *
a lze prosím nějakým jednoduchým způsobem zařídit to aby sloupce které již existují se nepřepisovali ?
Kajman
Profil
Vypište jen sloupce které chcete a v případě potřeby udělejte alias. Např.

select informace.*, objetky.objekt from ...
Radovan789
Profil *
Kajman:
Děkuju.

Ještě bych se zeptal když mám tento dotaz:
SELECT *, CONCAT(tabulka.ulice,' ',tabulka.cp,'/',tabulka.co) as ulice FROM tabulka ORDER BY ulice ASC

tak mi to napíše chybu. Když dám ORDER BY ulice ASC pryč tak to funguje. Včem je tedy problém?
Tori
Profil
Radovan789:
tak mi to napíše chybu
No tak můžete rovnou napsat jakou chybu, že.

Předpokládám, že jde o nejednoznačný identifikátor, "ulice" může být jak sloupec tabulky, tak výsledek CONCAT(). Změňte ten alias (tj. asi i sloupec, podle kterého se řadí).
joe
Profil
Radovan789:
Když dám ORDER BY ulice ASC pryč tak to funguje
Nezdá se mi příliš šikovné si pojmenovávat aliasy jako již existující názvy. Nevím jistě, ale třeba by mohlo fungovat ORDER BY tabulka.ulice. Vhodnější je ale, i jak píše Tori, změnit alias, tady místo ulice, napsat třeba kompletni_adresa.
Radovan789
Profil *
Tori, joe:
Ano byt to i název tabulky, děkuji, ted už funguje vše jak má :)


*název sloupce

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0