Kontrola syntaxe sql – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kontrola syntaxe sql – Delphi – Fórum – Programujte.comKontrola syntaxe sql – Delphi – Fórum – Programujte.com

 

lukas
~ Anonymní uživatel
301 příspěvků
24. 6. 2012   #1
-
0
-

Dobrý den, můžete mi prosím zkontrolovat SQL dotaz? Stále mi to háže nějakou chybu - chybí operátor v dotazovaném výrazu.

Moc díky.

Select o.datum_prijeti,zakaznik_id as zakaznik,(o.cislo_zakazky&"/"&poradi_zakazky) as cislo_zakazky,cislo_objednavky,nazev_vyrobku,cislo_vykresu,pocet_ks,cena_ks,cena_celkem,termin,'+'pripraveno_do_vyroby,predano_do_vyroby,tyden_plneni,poznamka,zadal_id as zadal,stav from Objednavky o LEFT JOIN Zakazky z on (o.zakazky_id=z.id_zakazky) LET JOIN Vyrobky v on(z.vyrobky_id=v.id_vyrobky)
Nahlásit jako SPAM
IP: 217.197.155.–
lukas
~ Anonymní uživatel
301 příspěvků
24. 6. 2012   #2
-
0
-

Omlouvám se za překlep, má tam být LEFT Join

Select o.datum_prijeti,zakaznik_id as zakaznik,(o.cislo_zakazky&"/"&poradi_zakazky) as cislo_zakazky,cislo_objednavky,nazev_vyrobku,cislo_vykresu,pocet_ks,cena_ks,cena_celkem,termin,'+'pripraveno_do_vyroby,predano_do_vyroby,tyden_plneni,poznamka,zadal_id as zadal,stav from Objednavky o LEFT JOIN Zakazky z on (o.zakazky_id=z.id_zakazky) LEFT JOIN Vyrobky v on(z.vyrobky_id=v.id_vyrobky)
Nahlásit jako SPAM
IP: 217.197.155.–
lukas
~ Anonymní uživatel
301 příspěvků
24. 6. 2012   #3
-
0
-

Jejda, zapomněl jsem to seskupit, ale stále chyba :(

Select o.datum_prijeti,zakaznik_id as zakaznik,(o.cislo_zakazky&"/"&poradi_zakazky) as cislo_zakazky,cislo_objednavky,nazev_vyrobku,cislo_vykresu,pocet_ks,cena_ks,cena_celkem,termin,'+'pripraveno_do_vyroby,predano_do_vyroby,tyden_plneni,poznamka,zadal_id as zadal,stav from Objednavky o LEFT JOIN Zakazky z on (o.zakazky_id=z.id_zakazky) LEFT JOIN Vyrobky v on(z.vyrobky_id=v.id_vyrobky) GROUP BY z.id_zakazky

Nahlásit jako SPAM
IP: 217.197.155.–
lukas
~ Anonymní uživatel
301 příspěvků
24. 6. 2012   #4
-
0
-

#3 lukas

Select o.datum_prijeti,zakaznik_id as zakaznik,(o.cislo_zakazky&"/"&poradi_zakazky) as cislo_zakazky,cislo_objednavky,nazev_vyrobku,cislo_vykresu,pocet_ks,cena_ks,cena_celkem,termin,'+'pripraveno_do_vyroby,predano_do_vyroby,tyden_plneni,poznamka,zadal_id as zadal,stav from Objednavky o LEFT JOIN Zakazky z on (o.zakazky_id=z.id_zakazky) LEFT JOIN Vyrobky v on(z.vyrobky_id=v.id_vyrobky) GROUP BY z.id_zakazky
Nahlásit jako SPAM
IP: 217.197.155.–
lukas
~ Anonymní uživatel
301 příspěvků
24. 6. 2012   #5
-
0
-

#4 lukas
Stále to nefunguje, nevíte někdo prosím, čím by to mohlo být?

Syntaktická chyba (chybí operátor) v dotazovaném výrazu o.zakazky_id=z.id_zakazky) LEFT JOIN Vyrobky v on(z.vyrobky_id=v.id_vyrobky.
Nahlásit jako SPAM
IP: 217.197.155.–
simas0
Newbie
24. 6. 2012   #6
-
0
-

Ja tedy nevim, ale pri group by muzes mit ve vypisu jen ty sloupce, ktere jsou slucovany, takze ve tvem pripade z.id_zakazky.

Co to je za databazi?

Nahlásit jako SPAM
IP: 193.165.10.–
simas0
Newbie
24. 6. 2012   #7
-
0
-

A tenhle dotaz ti bude fungovat?

SELECT
* FROM (Objednavky o LEFT JOIN Zakazky z ON o.zakazky_id=z.id_zakazky) LEFT JOIN Vyrobky v ON z.vyrobky_id=v.id_vyrobky

Nahlásit jako SPAM
IP: 193.165.10.–
lukas
~ Anonymní uživatel
301 příspěvků
24. 6. 2012   #8
-
0
-

#7 simas
Super díky moc, toto funguje. Ještě jsem tam měl jednu chybu a to v relaci objednavky->zakazky. Testoval jsem tedy tento retezec a šlo to v pohodě.

SELECT * FROM (Objednavky o LEFT JOIN Zakazky z ON o.id_objednavky=z.objednavka_id) LEFT JOIN Vyrobky v ON z.vyrobky_id=v.id_vyrobky

Takže výsledek je tedy 

SELECT o.datum_prijeti,zakaznik_id as zakaznik,(o.cislo_zakazky&"/"&poradi_zakazky) as cislo_zakazky,o.cislo_objednavky,v.nazev,v.cislo_vykresu,z.pocet_ks,z.cena_ks,z.cena_celkem,z.termin,'+'z.pripraveno_do_vyroby,z.predano_do_vyroby,z.tyden_plneni,z.poznamka,z.zadal_id as zadal,z.stav FROM (Objednavky o LEFT JOIN Zakazky z ON o.id_objednavky=z.objednavka_id) LEFT JOIN Vyrobky v ON z.vyrobky_id=v.id_vyrobky

Ještě jednou díky :-)

Nahlásit jako SPAM
IP: 217.197.155.–
Fala0
Duch
7. 7. 2012   #9
-
0
-

#1 lukas
asi tam máš překlep LET JOIN což má být asi LEFT JOIN

Nahlásit jako SPAM
IP: 89.102.173.–
Jan Fiala MG-Ware s.r.o.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Chyba syntaxe — založil Shark

Zastaralá syntaxe? — založil Apik

Chybná syntaxe — založil bohetik

WinAVR+C syntaxe — založil Mario1

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý