Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » MySQL » MySQL upiti nad jednom tablom
Avko 08.08.2016 13:50
Predmet:Re: MySQL upiti nad jednom tablom

neznam dali je to ovo

(neznam zasto nemam manage attachments u brzom odgovoru vec moram potvrditi(poslati) odgovor, a onda izaberem opciju uredi pa unesem razlog uredenja i onda imam tek opciju manage attachment.)
Prilozi:
voce.sql.zip (Velicina datoteke:651 Bajt)

zxz 08.08.2016 14:14
Predmet:Re: MySQL upiti nad jednom tablom

U brzom odgovoru ga nema ali ako hoces atach onda klini na dodaj odgovor

zxz 08.08.2016 16:52
Predmet:Re: MySQL upiti nad jednom tablom

SELECT * ,DATE_FORMAT(datum,'%d.%m.%y') AS Dat,DATE_FORMAT(datum,'%y-%d-%m')as dd, CURDATE() as aaa FROM `prodaja` WHERE 1

Evo ti ovo i sve ce ti se reci.
Nemozes datum stavljati kao strin.
On onda i ostaje string.

Avko 08.08.2016 17:00
Predmet:Re: MySQL upiti nad jednom tablom

evo vidim da kod formatiranja datuma koji je deklariran kao string ne dobijemo formate koje mozemo obradivati kao datume u mysql. Treba datum stavljati kao datum. Vidim da je standard za mysql GGGG-MM-DD pa mislim da bi u buduce morao tako i uvoziti tj u txt fajlu staviti string datum u obliku GGGG-MM-DD


hvala

Avko 26.08.2016 13:36
Predmet:Re: MySQL upiti nad jednom tablom

ne razumijem select u select, a i inner mi je stran pa bi molio pomoc

1.zadatak (rijesen)
sa SELECT upitom trebao bi izdvojiti za jabuke i koje su jos vocke imale istu prodaju za taj datum kao i jabuke, ako je prodaja 0, onda ne gledamo za druge vocke.

ovo radi:(dexxxl)
SELECT t1.datum, t1.kg, t1.ime
FROM ProdajaVoca AS t1 INNER JOIN ProdajaVoca AS t2 ON t1.kg = t2.kg AND t1.datum = t2.datum
WHERE t2.ime='jabuka' AND (t2.kg <> 0 OR t1.ime='jabuka')
ORDER BY t1.datum;

2.zadatak
sa SELECT upitom trebao bi izdvojiti za jabuke i koje su jos vocke imale istu prodaju za taj datum kao i jabuke, ako je prodaja 0, onda ne gledamo za druge vocke, a jos dodati i to da uzima u obzir porijeklo voca iz zemalja iz koje su i jabuke. Znaci treba ubaciti negdje da gleda i porijeklo voca iz druge tablice.
Prikaz mora biti isti kao i u prvom upitu, sa ovim gore upitom pokaze mi i banane koje nisu iz EU.
Radi se o dvije tablice . Sve cu prikvaciti da vam je lakse raditi da ne radite napamet

ja sam napravio ovo:

PreuzmiIzvorni kôd (Text):
  1. SELECT t1.datum, t1.kg, t1.ime
  2. FROM prodajavoca AS t1
  3. INNER JOIN prodajavoca AS t2 ON t1.kg = t2.kg
  4. AND t1.datum = t2.datum
  5. INNER JOIN voce AS t3 ON t1.ime = t3.ime
  6. AND t3.porijeklo <>  'EU' --> ovdje bi htio da mi uzme porijeklo izabranog voca i to komparira
  7. WHERE t2.ime =  'jabuka'
  8. AND (
  9. t2.kg <>0
  10. OR t1.ime =  'jabuka'
  11. )
  12. ORDER BY t1.datum
  13. LIMIT 0 , 30
Prilozi:
proba.rar (Velicina datoteke:719 Bajt)

Avko 28.08.2016 07:46
Predmet:Re: MySQL upiti nad jednom tablom

rijesio to na cudan nacin

imeVoca=jabuka
2 sql upita, 1 sql upit za porijeklo
query=SELECT porijeklo FROM voce WHERE ime = imeVoca
rezultat = mysql_query($query) or die(mysql_error())
if (mysql_num_rows(rezultat))
{
//sve je smjesteno u jedan "0" red
porijeklo=mysql_result($rezultat,0)
}

//onda sam ugradio to u drugi upit
podaci=mysql_query(
SELECT t1.datum, t1.kg, t1.ime
FROM prodajavoca AS t1
INNER JOIN prodajavoca AS t2 ON t1.kg = t2.kg
AND t1.datum = t2.datum
INNER JOIN voce AS t3 ON t1.ime = t3.ime
AND t3.porijeklo = porijeklo
WHERE t2.ime = imeVoca
AND (t2.kg <>0 OR t1.ime = imeVoca)
ORDER BY t1.datum
LIMIT 0 , 30
or die(mysql_error())

dex 01.09.2016 22:43
Predmet:Re: MySQL upiti nad jednom tablom

Napravi view ProdajaSaPoreklom

PreuzmiIzvorni kôd (SQL):
  1. SELECT prodajavoca.datum,prodajavoca.kg, prodajavoca.ime, voce.porijeklo
  2. FROM prodajavoca INNER JOIN voce ON prodajavoca.ime = voce.ime

Onda sledeci

PreuzmiIzvorni kôd (SQL):
  1. SELECT t1.datum, t1.kg, t1.ime
  2. FROM ProdajaSaPoreklom AS t1 INNER JOIN ProdajaSaPoreklom AS t2 ON t1.kg = t2.kg AND t1.datum = t2.datum AND t1.porijeklo = t2.porijeklo
  3. WHERE t2.ime='jabuka' AND (t2.kg <> 0 OR t1.ime='jabuka')
  4. ORDER BY t1.datum;

Vezbe radi probaj da prvi upit ugnezdis u drugi

PS kod ubacivanja koda izaberite SQL, ako izaberete MySQL ubaci "djubre"

Avko 20.09.2016 13:21
Predmet:Re: MySQL upiti nad jednom tablom

malo moram prouciti ovo:

pa cu probati rijesiti, ako ne javit cu da neznam.
Nemojte jos nista odgovoriti dok ne probam sam to.

Avko 06.10.2016 12:50
Predmet:Re: MySQL upiti nad jednom tablom

Citiraj dexxxl:
Napravi view ProdajaSaPoreklom

PreuzmiIzvorni kôd (SQL):
  1. SELECT prodajavoca.datum,prodajavoca.kg, prodajavoca.ime, voce.porijeklo
  2. FROM prodajavoca INNER JOIN voce ON prodajavoca.ime = voce.ime

Onda sledeci

PreuzmiIzvorni kôd (SQL):
  1. SELECT t1.datum, t1.kg, t1.ime
  2. FROM ProdajaSaPoreklom AS t1 INNER JOIN ProdajaSaPoreklom AS t2 ON t1.kg = t2.kg AND t1.datum = t2.datum AND t1.porijeklo = t2.porijeklo
  3. WHERE t2.ime='jabuka' AND (t2.kg <> 0 OR t1.ime='jabuka')
  4. ORDER BY t1.datum;

Vezbe radi probaj da prvi upit ugnezdis u drugi
sve si mi napiso ja sam samo trebo prepisati, ali jednu stvar nisi uzeo u obzir:
ja neznam napraviti view pogled. Nisam znao do danas. Istrazivajuci internet i isprobavajuci razne zadatke u jednom sam trenutku zapazio nakon sto sam napisao ovo:

PreuzmiIzvorni kôd (SQL):
  1. CREATE VIEW ProdajaSaPoreklom
  2. AS SELECT datum,kg,a.ime,porijeklo
  3. FROM prodajavoca a, voce b
  4. WHERE a.ime=b.ime

i ponovo sam to napisao te mi javi error poruku
#1050 - Table 'ProdajaSaPoreklom' already exists

nije mi bilo jasno kako tabla vec postoji kad ju nisam napravio. Tada bacim pogled na table koje postoje i vidim da se gornjim SQL-om formirala. Udem u nju lagano ne znajuci i u strahu sto me ceka i vidjeh da su unjoj spojeni podaci iz tabli prodajavoca i voce
nasmijah se i onda sam upisao ovo tvoje, dakle prepisah :

PreuzmiIzvorni kôd (SQL):
  1. SELECT t1.datum, t1.kg, t1.ime
  2. FROM ProdajaSaPoreklom AS t1 INNER JOIN ProdajaSaPoreklom AS t2 ON t1.kg = t2.kg AND t1.datum = t2.datum AND t1.porijeklo = t2.porijeklo
  3. WHERE t2.ime='jabuka' AND (t2.kg <> 0 OR t1.ime='jabuka')
  4. ORDER BY t1.datum;

i dobih rezultat bez banana Smiling

hvala ti!