zapytanie sql do Sobi2 wyciągające 4 interesujące mnie pola
Wyniki 1 do 5 z 5

Temat: zapytanie sql do Sobi2 wyciągające 4 interesujące mnie pola

  1. #1
    Przeglądacz
    Dołączył
    20-08-2007
    Wpisy
    38
    Punkty
    32

    Domyślny zapytanie sql do Sobi2 wyciągające 4 interesujące mnie pola

    czesc,
    Rozrysuję wam w głowach temat. Otóż potrzebuję mapy do SObi2 która dodawałaby wszystkie lokalizacje na jednej mapie. Da się to zrobić plikiem XML. Zanim stworzę plik, muszę wyeksportować dane.

    Dane wyglądają mniej wiecej tak:

    tabela sobi2_item
    id | nazwa | ..

    tabela sobi2_fields_data
    fieldid | data_txt | itemid
    8 http://vsx.pl | 2
    14 22.231321 | 2
    15. 51.232030 | 2

    czyli to o co mi chodziło. Znam 3 pola do wpisu o id nr 2.
    Wyświetlić każde z nich mogę w ten sposób:

    ----wyswietlam nazwe i strone internetową ----
    select title, data_txt
    from jos_sobi2_item i
    left join jos_sobi2_fields_data f on f.itemid = i.itemid
    where fieldid=8
    order by title asc

    ---- wyswietlam nazwe i pozycje dl. geograficzna ---
    select title, data_txt
    from jos_sobi2_item i
    left join jos_sobi2_fields_data f on f.itemid = i.itemid
    where fieldid=14
    order by title asc


    czyli zmieniam warunek where. Wynikiem jest np.
    nazwa | adres www
    ...
    ..

    a jak zrobić żeby w wyniku dostać wszystkie 4-ry kolumny? czyli:

    nazwa | adres | dł. geogr. | szerokość geogr. ?

    Nie potrafię tego zrobić z uwagi na fakt, że data_txt raz jest to adres www, raz jest długością itp...

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Witam,
    spróbuj takiej metody:
    select a, b, (select cos_tam from gdzies_tam where warunek) as c from tabela where ....

  4. #3
    Przeglądacz
    Dołączył
    20-08-2007
    Wpisy
    38
    Punkty
    32

    Domyślny

    witam,
    Nieco mnie nakierowałeś. Tylko nie mogę tego do końca rozgryźć. W tej chwili kod wygląda tak , że mogę wyciągnąć to co bym chciał ale tylko jeden rekord:

    select distinct title,
    (select data_txt from jos_sobi2_fields_data where fieldid=14 and itemid=6) as b,
    (select data_txt from jos_sobi2_fields_data where fieldid=15 and itemid=6) as c

    from jos_sobi2_item i
    left join jos_sobi2_fields_data f on f.itemid = i.itemid
    where f.itemid=6
    order by title asc


    i dostaję wynik:
    title b c
    Dominator 20.9173 52.402445


    itemid to ID mojego rekordu. Jeśli z zapytania w dowolnym miejscu wywalę itemid to wyskakuje błąd, że zapytanie zwraca więcej niż jeden wiersz.

    Teoretycznie mógłbym to teraz sparametryzować, zrobić funkcję zamiast itemid=6 wstawić @itemid . Ale czy to nie jest zbędne obciążanie bazy? Nie da się prościej ?

  5. #4
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Raczej nakierowałam .
    select distinct title,
    (select data_txt from jos_sobi2_fields_data where fieldid=14 and itemid=f.itemid) as b,
    (select data_txt from jos_sobi2_fields_data where fieldid=15 and itemid=f.itemid) as c

    from jos_sobi2_item i
    left join jos_sobi2_fields_data f on f.itemid = i.itemid
    where f.itemid=6
    order by title asc

  6. #5
    Przeglądacz
    Dołączył
    20-08-2007
    Wpisy
    38
    Punkty
    32

    Domyślny dzieki!

    a przepraszam,
    mam kumpla w pracy na którego mówimy Jolas, chyba z przyzwyczajenia ;)

    dzięki Jola, działa pięknie!

    Oto pełne zapytanie jak wyciagnąć dł. i szer. geogr. z Sobi2 jeśli pola te maja id odpowiednio 14 i 15 :

    select distinct title,
    (select data_txt from jos_sobi2_fields_data where fieldid=14 and itemid=f.itemid) as b,
    (select data_txt from jos_sobi2_fields_data where fieldid=15 and itemid=f.itemid) as c
    from jos_sobi2_item i
    left join jos_sobi2_fields_data f on f.itemid = i.itemid

Podobne tematy

  1. Pola wymagane w formularzu "Zapytanie o produkt"
    przez woonski na forum VirtueMart
    Odpowiedzi: 1
    Ostatni post/autor: 24-11-2010, 18:46
  2. pozycja z sobi2 w eventlist - pomoc w prostym zapytaniu SQL
    przez szoq na forum Biznes: sklepy, ogłoszenia, katalogi produktów
    Odpowiedzi: 4
    Ostatni post/autor: 05-11-2010, 00:17
  3. Sobi2 wyświetlanie etykiety pola
    przez five81 na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 4
    Ostatni post/autor: 08-10-2010, 20:41
  4. Sobi2 - pola widoczne dopiero po zalogowaniu
    przez bogdanbojarski na forum Administracja - ogólne
    Odpowiedzi: 0
    Ostatni post/autor: 07-01-2010, 21:25
  5. HTML/CSS - Nie rozciągające się tło jednego z divów
    przez wilczures na forum Problemy z przeglądarką Internet Explorer
    Odpowiedzi: 1
    Ostatni post/autor: 24-02-2008, 23:14

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •