Portál AbcLinuxu, 26. dubna 2024 08:58


Dotaz: SQLite hlasi "no such column: a: SELECT"

13.4.2018 16:27 zdenek2008 | skóre: 26
SQLite hlasi "no such column: a: SELECT"
Přečteno: 674×
Odpovědět | Admin
Pokud zadam v SQLite prvni tri z nasledujicich radku, vytvori se dve bunky, kazda obsahuje cislo 1:

SELECT
1 a,
1 b,
a + b c;

Pokud ale pridam ctvrty radek "a + b c" pro soucet tech dvou bunek, dostanu tuto chybovou hlasku:

no such column: a: SELECT
1 a,
1 b,
a + b c;

Nemam nejake halucinace?


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (zdenek2008 (tazatel))
13.4.2018 20:07 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: SQLite hlasi "no such column: a: SELECT"
Odpovědět | | Sbalit | Link | Blokovat | Admin
SELECT
1 a,
1 b,
a + b c;
hovorí, že výsledok bude tabuľka v ktorej bude jeden riadok dát. Bude tam stĺpec nazvaný 'a', stĺpec nazvaný 'b' a stĺpec nazvaný 'c'. V stĺpci 'a' bude dátová hodnota 1, v stĺpci 'b' bude tiež dátová hodnota '1'. V stĺpci 'c' bude ... čo? Neexistuje hodnota 'a' ktorú by bolo možné sčítať s hodnotou 'b'. 'a' a 'b' pomenovávajú stĺpce výstupu. Ale ty sa ich snažíš použiť ako vstup.

Lepšie by to bolo vidno keby si pracoval s tabuľkou. Majme tabuľku 'T' ktorá má stĺpec 'stlpec1' a 'stlpec2':
SELECT
stlpec1 a,
stlpec2 b,
a + b c from T;
Výsledok bude niečo, čo má stĺpec nazvaný 'a' a v ňom hodnoty zo T.stlpec1, potom tam bude stlpec 'b' a v ňom hodnoty z T.stlpec2. A nakoniec stĺpec s názvom 'c' a v nom ...? Neexistuje T.a a T.b. To nefunguje tak, ze pri získavaní hodnoty sa môžeš obrátiť na stĺpce toho, čo vyrábaš.
Řešení 1× (zdenek2008 (tazatel))
13.4.2018 20:10 chrono
Rozbalit Rozbalit vše Re: SQLite hlasi "no such column: a: SELECT"
'a' a 'b' pomenovávajú stĺpce výstupu. Ale ty sa ich snažíš použiť ako vstup.
preto treba použiť niečo ako
SELECT a, b, a+b c FROM (SELECT 1 a, 1 b);
13.4.2018 20:30 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: SQLite hlasi "no such column: a: SELECT"
Diky, ted to funguje jak jsem zamyslel. Nejak mi unikala cela logika veci.
13.4.2018 20:33 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: SQLite hlasi "no such column: a: SELECT"
Diky, ted uz je to jasnejsi. Funguje to jak popisujes. Asi toho mam uz dnes nechat...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.