Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Tolik rozruchu
jen v Lopuchu

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: vfuhqps
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 8.4.2010 14:18 - Oblíbené kluby (16:56) 1214
themajklfalíruje tam něco o tu jednu položku, kterou hledám

výsledek dotazu je daný výběrovým formulářem, kde jsem schopen si naformulovat i dost složité dotazi
základní výběr má výsledek - všechny zařazené přístroje
což je např. 1000 kusů
základní výběr, ale s volbou všechny vyřazené přístroje dává 500 kusí

ale výběr všeho (bez podmínky Where) dává 1501 kusů
themajkl themajkl All those moments will be lost in time - like tears in rain. 8.4.2010 14:09  1213
Udělej jen ty inner joiny bez where kaluzule a jestli tam budeš mít míň řádků, než je správný počet, tak prostě někde ti něco vazebního falíruje.
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 8.4.2010 13:57 - Oblíbené kluby (16:56) 1212
Dík za rady
práce na db je nad rámec mých prac poviností, jedná se db, kterou využíváme pro evidenci a kontrolu prohlídek přístrojů
a je navržená dobře, kupodivu už asi 6 let funguje bez zjevných potíží a je i do jisté míry variabilní

kurz či školení mi jistě zaměstnavatel neuhradí

programátor nejsem, jen mě práce okolo webů a trochu i db baví a zajímá (ale samozřejmě ne do hloubky)

skoro vše co radíte jsem zkoušel
myslím že nejsem zas až tak úplně blbej, jak tomu z mých dotazů vyplývá (ptám se když něco nevím, když vím, tak to zde neřeším...)
:-)))

s učením nových věcí to bývá na stará kolena těžší, přeci jen je to už 25 roků jsou jsem jako inženýr promoval na elektrofakultě ...

... a k těm mým dotazům - alespoň se zde snažím ptát slušnou formou (když už na blbé věci ..)
bredy 8.4.2010 13:21  1211
Tessien, puschpullPokud je mi známo, tak při definování propojených tabulek v accessu lze říct, zda je tam vztah 1:1, případně 1:N. Tady by šlo použít 1:n za předpokladu, že víš, že to N nabývá hodnotu 0 nebo 1. Tak položka, která je "divná" se pak pozná tím, že v patřičném sloupečku bude NULL.

Ale je to jak říká tessien, nahradí to patřičné JOIN vhodnou variantou OUTER / INNER JOIN
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 8.4.2010 12:53  1210
Ale jinak teda uprimne receno - mohl by ses domluvit se zamestnavatelem, aby te poslal na nejake kurzy zakladu SQL, vzhledem k tomu, co tu mas casto za dotazy a zjevne to teda v praci potrebujes..
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 8.4.2010 12:52  1209
Aha, pokud je to tak, jak rika majkl, tak v tom mem misto toho "select * from table" budes muset dat select patricne sloupce from tabulka1 outer join tabulka 2 ... - proste dat tam vsechny joiny z toho dotazu outer
themajkl themajkl All those moments will be lost in time - like tears in rain. 8.4.2010 12:18  1208
Ale jo, access je vygeneruje, ale nikde nemáš kontrolu, že máš v tabulkách konzistentní data. Nejde o návrh dotazu, ale struktury DB.
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 8.4.2010 12:14 - Oblíbené kluby (16:56) 1207
ten dotaz vygeneruje access sám, dle návrhového zobrazení ....

prošel jsem tabulky už několikrát

...
ještě budu pátrat

Tessien - dík (zkusím co na to access)
themajkl themajkl All those moments will be lost in time - like tears in rain. 8.4.2010 12:10  1206
Vidím to tak, že tam máš milion joinů a ten přístroj, který chybí, tak nemá jednu z těch vazebních položek (nechce se mi teď bádat nad tím, jestli je to jeden nebo víc sloupečků), tudíž z těch vazeb vypadne a je jedno, co je ve where klauzuli. Musíš projít jednotlivé tabulky a zjistit, kde je ten vazební prvek blbě (nemá se na jak navázat na další tabulky a nejde tudíž do joinu).
(Správně navržená DB by vůbec nedovolila takovou položku vložit, pokud předpokládáš, že MUSÍ ty vazby existovat.)
tessien Tessien Of course slavery is the worst thing - that ever happened. But maybe... 8.4.2010 12:08  1205
SELECT * from table
EXCEPT
(puvodni select)
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 8.4.2010 12:05 - Oblíbené kluby (16:56) 1204
themajkl to jsem zkoušel jako první
vylezlo z toho - vyřazené přístroje
standardně vyleze - zařazené přístroje

já potřebuji opak dotazu, kde vím, že jedna položka (jeden přístroj chybí a neumím zatím najít, z jakého důvodu ho výběrový dotaz nepokrývá)
themajkl themajkl All those moments will be lost in time - like tears in rain. 8.4.2010 11:36  1202
where X

where not (X)
nezafunguje?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 8.4.2010 10:19  1201
hele zkus obcas zalovit v nejakych vyukovych navodech at vis co delas, tipnul bych treba:
http://www.linuxsoft.cz/article.php?id_article=731
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 8.4.2010 10:16 - Oblíbené kluby (16:56) 1200
použít všude NOT LIKE místo LIKE ?
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 8.4.2010 10:11 - Oblíbené kluby (16:56) 1199
ten dotaz:SELECT tbl_Pristroj.ID_Pristroj AS JmenoID_Pristroje, tbl_Pristroj.Kategorie, tbl_Pristroj.Nazev AS JmenoNazev, tbl_Pristroj.Typ AS JmenoTyp, tbl_Pristroj.Serial AS JmenoSerial, tbl_Pristroj.Zobrazit, tbl_Pristroj.Usek, tbl_Pristroj.Inv AS JmenoInv, tbl_Pristroj.Klas, tbl_Pristroj.Vyrobce, tbl_Pristroj.Dodavatel, tbl_Pristroj.Servis, tbl_Pristroj.Zarazeno AS JmenoZarazeno, tbl_Pristroj.Instalace, tbl_Pristroj.Inst_kdy AS JmenoInst_kdy, tbl_Pristroj.ROPy, tbl_Pristroj.Vyrazeno, tbl_Pristroj.Vyrazeno_kdy AS JmenoVyrazeno_kdy, tbl_Pristroj.Cena AS JmenoCena, tbl_Pristroj.Rok_vyroby AS JmenoRok_vyroby, tbl_Pristroj.Zaruka AS JmenoZaruka, tbl_Pristroj.PC AS JmenoPC, tbl_Pristroj.Interval_prohl, tbl_Pristroj.Last, tbl_Pristroj.Next, tbl_Pristroj.Poznamka AS JmenoPoznamka, tbl_Kategorie.Kategorie AS JmenoKategorie, tbl_Vyrobce.Vyrobce AS JmenoVyrobce, tbl_Zdrav_useky.Usek AS JmenoUsek, tbl_Klas.Klas_trida AS JmenoKlas_trida, tbl_Firma.Firma AS JmenoDodavatel, tbl_Firma_1.Firma AS JmenoServis, tbl_Firma_2.Firma AS JmenoInstalace, tbl_Interval.Interval_prohl AS JmenoInterval_prohl, qry_last_prohlidka.LastOfKontrola, qry_last_prohlidka.Next_Prohlidka, DateAdd("m",tbl_Interval.Interval_prohl,qry_last_prohlidka.LastOfKontrola) AS JmenoNext
FROM tbl_Klas INNER JOIN (tbl_Kategorie INNER JOIN (tbl_Vyrobce INNER JOIN (tbl_Zdrav_useky INNER JOIN (tbl_Interval INNER JOIN (tbl_Firma INNER JOIN ((tbl_Firma AS tbl_Firma_2 INNER JOIN (tbl_Firma AS tbl_Firma_1 INNER JOIN tbl_Pristroj ON tbl_Firma_1.ID_Firma = tbl_Pristroj.Servis) ON tbl_Firma_2.ID_Firma = tbl_Pristroj.Instalace) INNER JOIN qry_last_prohlidka ON tbl_Pristroj.ID_Pristroj = qry_last_prohlidka.ID_Pristroj) ON tbl_Firma.ID_Firma = tbl_Pristroj.Dodavatel) ON tbl_Interval.ID_Interval = tbl_Pristroj.Interval_prohl) ON tbl_Zdrav_useky.ID_Zdrav_useky = tbl_Pristroj.Usek) ON tbl_Vyrobce.ID_Vyrobce = tbl_Pristroj.Vyrobce) ON tbl_Kategorie.ID_Kategorie = tbl_Pristroj.Kategorie) ON tbl_Klas.ID_Klas = tbl_Pristroj.Klas
WHERE (((tbl_Pristroj.ID_Pristroj) Like PrectiData_klic()) AND ((tbl_Pristroj.Nazev) Like PrectiData_nazev()) AND ((tbl_Pristroj.Typ) Like PrectiData_typ()) AND ((tbl_Pristroj.Serial) Like PrectiData_serial()) AND ((tbl_Pristroj.Zobrazit)=Yes) AND ((tbl_Pristroj.Inv) Like PrectiData_inv()) AND ((tbl_Pristroj.Zarazeno) Between PrectiData_zarazeno() And PrectiData_zarazeno2()) AND ((tbl_Pristroj.ROPy)=True Or (tbl_Pristroj.ROPy)=[Forms]![frm_SELECT]![Vyhledat_ropy]) AND ((tbl_Pristroj.Vyrazeno) Like PrectiData_vyrazeno()) AND ((tbl_Pristroj.Cena) Between PrectiData_cena() And PrectiData_cena2()) AND ((tbl_Pristroj.Rok_vyroby) Between PrectiData_rok() And PrectiData_rok2()) AND ((tbl_Pristroj.Poznamka) Like PrectiData_pozn()) AND ((tbl_Kategorie.Kategorie) Like PrectiData_kategorie()) AND ((tbl_Vyrobce.Vyrobce) Like PrectiData_vyrobce()) AND ((tbl_Zdrav_useky.Usek) Like PrectiData_usek()) AND ((tbl_Klas.Klas_trida) Like PrectiData_klas()) AND ((tbl_Firma.Firma) Like PrectiData_dodavatel()) AND ((tbl_Firma_1.Firma) Like PrectiData_servis()) AND ((tbl_Firma_2.Firma) Like PrectiData_instalace()) AND ((tbl_Interval.Zobrazit)=Yes) AND ((tbl_Kategorie.Zobrazit)=Yes) AND ((tbl_Vyrobce.Zobrazit)=Yes) AND ((tbl_Zdrav_useky.Zobrazit)=Yes) AND ((tbl_Klas.Zobrazit)=Yes) AND ((tbl_Firma.Zobrazit)=Yes) AND ((tbl_Firma_1.Zobrazit)=Yes) AND ((tbl_Firma_2.Zobrazit)=Yes) AND ((DateAdd("m",[tbl_Interval].[Interval_prohl],[qry_last_prohlidka].[LastOfKontrola])) Between PrectiData_datum() And PrectiData_datum2()));

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt