Avko | 03.05.2017 14:53 |
---|---|
Predmet:MYSQupit za polja u koloni imaju imena drugih tabli imam tablu sa vrijednostima koje su imena drugih tabli tabla ------------------------ datum | imeTable 2017-04-01 | tabla_2 2017-04-02 | tabla_2 2017-04-03 | tabla_3 2017-04-04 | tabla_4 2017-04-05 | tabla_4 htio bi spojiti (joined) tablu_1 sa drugim tablama (tabla_2 ... tabla_5) ovisno o vrijednost tabla_1 ------------------------- datum | artikal 2017-04-01 | 212 2017-04-02 | 315 2017-04-03 | 403 2017-04-04 | 503 2017-04-05 | 101 tabla_2 -------------------------- artikal | iznos_kn 212 | 10 315 | 12 403 | 11 503 | 14 101 | 16 tabla_3 -------------------------- artikal | iznos_kn 212 | 15 315 | 16 403 | 19 503 | 20 101 | 26 tabla_4 -------------------------- artikal | iznos_kn 212 | 30 315 | 32 403 | 31 503 | 34 101 | 36 primjer: za datum 2017-04-01 za artikal 212 vrijednost u kn ce biti 10kn, a ako je datum 2017-04-05 onda je njegova vrijednost 30kn. Znam da se nekako moze to, na internetu govore o dinamickom upitu ali mi nije bas jasno, savjetuju da se umjesto dinamickog upita upotrebe "relationships" ali mi ni to nije jasno. Pa moze li netko pomoc, netreba objasnjavat samo sql upit. |
Gjoreski | 04.05.2017 15:18 |
---|---|
Predmet:Re: MYSQupit za polja u koloni imaju imena drugih tabli SELECT tabela.datum,tabela_2.Iznos_kn FROM tabela_2 INNER JOIN tabela ON tabela.artikal = tabela_2.artikal Probaj ovako |
Avko | 09.05.2017 13:07 |
---|---|
Predmet:Re: MYSQupit za polja u koloni imaju imena drugih tabli nece, a jeli mozes reci zasto ovo nece radim localno prvo upisem ovo: select * from proba.tabla to radi. Onda upisem ovo: set @sql_text := 'select * from proba.tabla' prepare stmt from @sql_text execute stmt to nece, javi gresku: SQL upit: Dokumentacija SET @sql_text := 'select * from proba.tabla'prepare stmt FROM @sql_text EXECUTE stmt MySQL je poručio: Dokumentacija #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'prepare stmt from @sql_text execute stmt' at line 2 onda stavim ovako, tocka zarez iza svake naredbe: set @sql_text := 'select * from proba.tabla'; prepare stmt from @sql_text; execute stmt; dobijem ovo: Vaš SQL upit uspješno je izvršen SQL upit: SET @sql_text := 'select * from proba.tabla';# MySQL je vratio prazan komplet rezultata (npr. nula redova). prepare stmt FROM @sql_text ;# MySQL je vratio prazan komplet rezultata (npr. nula redova). EXECUTE stmt;# Redaka: 5 ali nema ispisa rezultata? |
Gjoreski | 09.05.2017 17:33 |
---|---|
Predmet:Re: MYSQupit za polja u koloni imaju imena drugih tabli proba najvrovatno se zove baza gde se nalaze tabeli. ovo tvoje bi trebalo da radi ovako : select * from tabla evo probaj ovo SELECT proba.tabela.datum,proba.tabela_2.Iznos_kn FROM proba.tabela_2 INNER JOIN proba.tabela ON proba.tabela.artikal = proba.tabela_2.artikal ovo sto ti radis set @sql_text := 'select * from proba.tabla'; prepare stmt from @sql_text; execute stmt; se koristi kad zelis query da ispises u neki string pa kasnije taj string da ga izvrsis. Ja ovakve stvari koristim kad imam dinamicki queri odnosno queri koe mejna svoju strukturu zavisno od kriterija. |
Avko | 09.05.2017 19:07 |
---|---|
Predmet:Re: MYSQupit za polja u koloni imaju imena drugih tabli i znas li zasto moje ne radi? |
Gjoreski | 10.05.2017 00:49 |
---|---|
Predmet:Re: MYSQupit za polja u koloni imaju imena drugih tabli Kako ovo radi u My SQL ja ne znam , ja sam ovo radio u MS SQL. Moj sovt je da to resis na klasican nacin jer radi brze nego ovo sta si ti postavio. Ako bas zelis resiti ovako reci i ja cu pogldati kako s to tacno radi pa resicemo to. |