1

Temat: Pobieranie z jednego pola

Witam, mam dwie tabele:

+-----------+
|  tabela   |
+-----------+
|  ID       |
+-----------+
| dane_1    |
+-----------+
| dane_2    |
+-----------+

-----------------------------
+-----------+
|  slownik  |
+-----------+
|  ID       |
+-----------+
| KOD       |
+-----------+
| opis      |
+-----------+

Problem polega na tym, że pola dane_1 oraz dane_2 odnoszą się do pola slownik.ID. Jak powinno wyglądać zapytanie aby poprawnie wyświetlić wartość pola slownik.KOD do którego odnoszą się wspomniane pola?

2

Odp: Pobieranie z jednego pola

O takie cusik chodziło ??

Select t1.dane_1,s1.kod,t1.dane_2,s2.kod
from tabela t1
join slownik s1 on s1.id = t1.dane_1
join slownik s2 on s2.id = t1.dane_2;

3

Odp: Pobieranie z jednego pola

lub tak gdy dana_1 lub dana_2 będą przechowywały wartość null
Select t1.dane_1,(select kod from slownik where id= t1.dane_1) as kod_1 ,t1.dane_2,(select kod from slownik where id= t1.dane_2) as kod_2
from tabela t1

4

Odp: Pobieranie z jednego pola

Dzięki poradziłem sobie inaczej:

SELECT tabela.ID, temp1.KOD, temp2.KOD
FROM slownik AS temp1,
   slownik AS temp2
WHERE
temp1.KOD = tabela.dane_1 AND
temp2.KOD = tabela.dane_2

Dzięki za odpowiedzi.