[SQL] Jak zadać zapytanie?

0

S dwie tabele A i B. W tabeli A są informacje ID oraz IP. W tabeli B jest LAST_ID. LAST_ID z tabeli B to jeden z ID z tabeli A. Jak znająć LAST_ID z tabeli B zadać zapytanie, aby dowiedzieć się o IP z tabeli A?

//wyłącz niemiecką klawiaturę pisząc tematy - M

0

SELECT IP FROM twoja_tabela WHERE ID = LAST_ID
ort! jasna że "LAST_ID" podmieniasz z wartością z tabeli B ;)

0

SELECT ip FROM a,b WHERE id=last_id AND last_id=$znane_ci_last_id;

0

SELECT ip FROM a,b WHERE id=last_id AND last_id=$znane_ci_last_id;

co jest dokladnie tym samym co:
SELECT ip FROM a id=$znane_ci_last_id;

Natomiast pytanie Mariana jest dla mnie niejasne. Skoro znasz LAST_ID i wiesz, ze to jeden z ID, to gdzie problem?

0
ash napisał(a)

SELECT ip FROM a,b WHERE id=last_id AND last_id=$znane_ci_last_id;

co jest dokladnie tym samym co:
SELECT ip FROM a id=$znane_ci_last_id;

Natomiast pytanie Mariana jest dla mnie niejasne. Skoro znasz LAST_ID i wiesz, ze to jeden z ID, to gdzie problem?

Mam dwie tabele:

a:

id|ip
1|192.168.1.1
2|192.168.1.2
3|192.168.1.3
4|192.168.1.4

b:

last_id
1
2
3
4
6
5

zadaje zapytanie nr 1: SELECT a.ip FROM a, b WHERE b.last_id=[id] and b.last_id=1;

wynik:
ip
192.168.1.1

zadaje zapytanie nr 2: SELECT ip FROM a, b WHERE last_id=1;

wynik:
ip
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4

A tak w ogóle to proponuję lekture o JOIN-nie. :P

Pozdrawiam [browar]

0
darek963 napisał(a)

zadaje zapytanie nr 2: SELECT ip FROM a, b WHERE last_id=1;
(...)A tak w ogóle to proponuję lekture o JOIN-nie. :P

A ja proponuje lekture mojego postu ;P
Ja napisalem SELECT ip FROM a WHERE last_id = costam Widzisz roznice? :P

edit: Wlasnie widze, ze zjadlem WHERE, ale i tak najwazniejsze bylo ko ;)

0

zadaje zapytanie nr 1: SELECT a.ip FROM a, b WHERE b.last_id=[id] and b.last_id=1;

oooczywiście ;] czyli last_id jest jednocześnie równe dwóm wartościom - ciekawe w jaki sposób wynik tego zapytania ma nie być pusty

0
ŁF napisał(a)

zadaje zapytanie nr 1: SELECT a.ip FROM a, b WHERE b.last_id=[id] and b.last_id=1;

oooczywiście ;] czyli last_id jest jednocześnie równe dwóm wartościom - ciekawe w jaki sposób wynik tego zapytania ma nie być pusty

Podejrzewam, ze [id] mialo znaczyc a.id
A to nie oznacza, ze b.last_id ma byc rowne rownoczesnie dwom wartosciom, tylko, ze a.id ma byc takie samo jak b.last_id oraz, ze b.last_id ma byc takie jak 1. To nie jest relacja przypisania, tylko rownosci, ktora jest symetryczna. (NB. powyzsze oznacza, ze a.id = 1)

0
ash napisał(a)

Podejrzewam, ze [id] mialo znaczyc a.id
A to nie oznacza, ze b.last_id ma byc rowne rownoczesnie dwom wartosciom, tylko, ze a.id ma byc takie samo jak b.last_id oraz, ze b.last_id ma byc takie jak 1. To nie jest relacja przypisania, tylko rownosci, ktora jest symetryczna. (NB. powyzsze oznacza, ze a.id = 1)

sprawdź. przecież jeśli last_id=1 i last_id=cokolwiek_innego, to jest to sprzeczne, chyba że cokolwiek_innego=1. jeśli a=last_id i b=last_id, to a=b, więc to się sprowadza do cokolwiek_innego=1.
poza tym odróżniam przypisanie od porównania (od kiedy w mysql są przypisania?) [sciana]

1 użytkowników online, w tym zalogowanych: 0, gości: 1