Avatar
Martin
Člen
Avatar
Martin:

Ahojte, učím sa vo vlastnom záujme SQL a potreboval by som pomôcť s takou (pre vás) jednoduchou záležitosťou. Mám databázu, kde mám 5 tis. riadkov a cca 150 stĺpcov a ja by som potreboval v tejto dabatázy odstrániť všetky riadky, kde napríklad Stlpec5 obsahuje NULL hodnoty.

Ešte podotýka, že zatiaľ sa učím len na SQL v MS Access. Skúsil som teda:

DELETE FROM Databaza WHERE Stlpec5 is NULL;

Lenže access mi vypíše: "Dotaz musí obsahovať aspoň jedno cieľové pole", tak som skúsil:

DELETE * FROM Databaza WHERE Stlpec5 is NULL;

a vytvoril sa mi dotaz ako keby som zadal SELECT * FROM Databaza WHERE Stlpec5 is NULL;

Lenže ja by som potreboval, aby mi všetky riadky s NULL hodnotami v Stlpci1 odstránilo z tej pôvodnej tabulky. Ako teda nato? Môžete mi, prosím, poradiť? Ďakujem

 
Odpovědět 13. ledna 10:13
Avatar
Odpovídá na Martin
Michal Štěpánek:

A ten sloupec "Stlpec5" se tak jmenuje? Zkusil jsi ten "SELECT" spustit? Vybralo ti to něco? Zkus to "is NULL" nahradit

= ""
Editováno 13. ledna 10:27
Nahoru Odpovědět 13. ledna 10:25
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Martin
Člen
Avatar
Martin:

Ja mám tie stĺpce pre uľahčenie zatiaľ pomenované len ako S1, S2, atď.. Takže proste uvažujeme názov "Stlpec5".

Select * from Databaza where Stlpec5 is NULL; normálne funguje. Vyhodí mi všetky riadky, pri ktorých platí, že stlpec5 obsahuje NULL.

=" " taktiež nefunguje

môže byť problém, že by Access nepodporoval funkciu DELETE? resp. že by nepodporoval ten tzv. data manipulation language?

 
Nahoru Odpovědět 13. ledna 10:40
Avatar
Honza
Člen
Avatar
Honza:

To je divný, já jsem si vytvořil tabulku pojmenovanou "Test" a v ní sloupce S1, S2, S3.
Pokud zavolám dotaz níže, tak vše proběhne bez problémů.

delete from Test where s2 is null
Nahoru Odpovědět 13. ledna 12:52
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Odpovídá na Martin
Michal Štěpánek:

Ještě mě napadlo, máš v té tabulce primární klíč?

Nahoru Odpovědět 15. ledna 15:39
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Martin
Člen
Avatar
Martin:

Honza, neskúsaš ty ale náhodotu tie kódy v inom rozhraní? Pretože ja píšem o MS Access a tam naozaj to delete nefunguje.

Michal, myslím, že som v tej tabulke nedefinoval primárny kľúč? Môžeš mi, prosím, napísat aký súvis s tým môže mať primárny kľúč? Díky

 
Nahoru Odpovědět 15. ledna 16:25
Avatar
Odpovídá na Martin
Michal Štěpánek:

Mám totiž pocit, že když jsem kdysi dělal jednu aplikaci na vyúčtování telefonů a použil jsem jako DB MS Access, tak mi to nechtělo dělat změny v tabulkách a ani mazat záznamy bez primárního klíče. Šlo mi jen přidávat a selectovat...

Nahoru Odpovědět 15. ledna 18:07
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Honza
Člen
Avatar
Odpovídá na Martin
Honza:

Použil jsem MS Access a primární klíč v tabulce taky nemám. PK není povinný (i když by v každé tabulce být měl).

Nahoru Odpovědět 16. ledna 18:09
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Honza
Člen
Avatar
Honza:

Kdyžtak uploadni někam ten tvůj access, zrada bude pravděpodobně v něčem jiném.

Nahoru Odpovědět 16. ledna 18:10
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.