[ djordje @ 03.07.2007. 20:49 ] @
imam tabelu "categories"

Code:

cat_id        cat_name
1               kategorija1
2               kategorija2
....


i tabelu "items":

Code:

it_id          cat_id_1        cat_id_2         it_name         it_time
1              1                  1                   item1             54646546546546
2              1                  2                   item2             65419849878979
3              1                  0                   item3             31321313132132


Dakle, imam neke kategorije i imam neke Item-e koji mogu pripadati jednoj, ni jednoj ili dvema kategorijama. Da li je moguce u okviru jednog upita selektovati sledece podatke:

it_id, cat_id_1, cat_id_2, it_name, it_time, cat_name_1, cat_name_2 gde je it_time > 242896

Dakle da mi da podatke iz items tabele plus nazive kategorija iz categories tabele, i to nazive kategorija kojima item pripada.

A ako ne postoji kategorija sa datim cat_id (cat_id_1 ili cat_id_2) za neki item u tabeli categories sa se vrati neka druga unapred odredjena vrednost umesto naziva kategorije
[ chachka @ 03.07.2007. 21:26 ] @
Code:

SELECT i.it_id, i.cat_id_1, i.cat_id_2, i.it_name, i.it_time,
       CASE WHEN c1.cat_name IS NULL
            THEN 'neka druga unapred odredjena vrednost'
            ELSE c1.cat_name
       END AS cat_name_1,
       CASE WHEN c2.cat_name IS NULL
            THEN 'neka druga unapred odredjena vrednost'
            ELSE c2.cat_name
       END AS cat_name_2
  FROM items AS i
       LEFT OUTER JOIN
       categories AS c1
         ON i.cat_id_1 = c1.cat_id
       LEFT OUTER JOIN
       categories AS c2
         ON i.cat_id_2 = c2.cat_id
 WHERE i.it_time > 242896


Za moderatore: Cesto se postavlja slicno pitanje duplog spajanja jedne tabele sa drugom tabelom. Ne bi bilo lose da jedna od takvih tema stavi kao link u TOP temu 'Cesto postavljana pitanja'
[ djordje @ 03.07.2007. 21:42 ] @
Ovo je bilo brzo! Hvala puno!

Sad tek vidim koliko ne znam sql. Potpuno sam zaborqavio na CASE..