Loki5ac SQL -neuvoja

30.01.2012

Takaisin kotisivulle
Loki5ac ensiasennus
Loki5ac päivitys
Loki5ac ominaisuudet
Loki5ac niksinurkka
Hamloki uutiset
Vekkari III
Memori  

        

        

Loki5ac SQL

******************************************************
SQL -KYSELYT

Wikipedian SQL-mallit

SELECT *

Jos tehdään lokikyselyjä, joissa halutaan poimia esiin tietyt QSO't kaikkine kenttineen, SQL -lomakkeella on käytettävissä apuneuvoja. Valinta voidaan tehdä 1-3 kentän perusteella. Ensin valitaan Kenttä 1 sen pudotusvalikon listasta. Sen jälkeen ehto (yhtä kuin, suurempi, pienempi, eri suuri jne), sitten arvo. Jos kenttänä on Bandi, Mode tai Keli (Propagaatio), arvo valitaan pudotusvalikon listasta, muuten se kirjoitetaan itse. Jos käytetään vain yhtä kenttää, klikataan >> (Näytä) nappulaa.
Jos otetaan lisää kenttiä, on 1. rivin päätteeksi valittava funktio (AND, OR, AND NOT, OR NOT) eli ja, tai, ja ei, tai ei. Sen jälkeen on kentän 2 vuoro samaan tapaan. Lopuksi klikataan >>.
Ikkunaan tulee esiin näin valittu SQL -lauseke. Esimerkki:

Bandi  =  3.5  AND
Mode  =  CW ;        >>

antaa tulokseksi lausekkeen:                      Esimerkki

SELECT * FROM loc4ac
WHERE
[Bandi] = '3.5'
AND
[Mode] = 'CW' ;

Tarkoittaa  samaa kuin : valitse kaikista QSO'ista tässä lokissa ne joissa bandi on 3.5 ja mode CW. Kun klikataan painiketta <Suorita> lauseke suoritetaan ja alle SQL-ristikkoon ilmestyvät ne QSO-rivit, jotka täyttävät nämä ehdot. Kenttien ympärille tulee hakasulut. Välttämättä niitä tarvitaan vain, jos kentän nimessä on välilyöntejä esim. [QSL saatu]

DTfield.

Erisuuruusmerkkejä voidaan käyttää esimerkiksi aikavalinnoissa ottamalla kentäksi DTfield, joka on muotoa 200512311930 eli 31.12.2005 19:30.  Lopusta alkaen voidaan aikamääreitä korvata nollilla, jos niitä ei haluta ottaa huomioon; ohjelma lisää  tarpeelliset nollat perään. Jos itse kirjoitetaan ikkunaan, on nollien oltava mukana.

WHERE DTfield >= 199911230000
AND DTfield < 200601010000

tarkoittaa, että mukaan otetaan rivit, joissa pvm on suurempi tai yhtäsuuri kuin 23.11.1999 ja pienempi kuin 1.1.2006.

ORDER BY

SELECT * FROM loc4ac
ORDER BY Bandi, Mode ;

Järjestää ristikon niin, että QSO't ovat bandin ja moden mukaan järjestyksessä.
 

SELECT kenttä1, kenttä2, kenttä3 ...

Toisessa valintavaihtoehdossa otetaan tulostukseen mukaan vain osa kentistä. Nyt on lauseke kirjoitettava tai kopioitava itse ikkunaan.

SELECT Asema, Päivä, Aika, Bandi, Mode
FROM loc4ac
WHERE DXCC = '230,14' ;

Tässä tulostuvat nuo viisi kenttää kaikista saksalaistunnusten kanssa pidetyistä QSO'ista. Maan numeron saa helposti selville kun kirjaa prefiksin Asemakenttään, jolloin kenttien 'Nr' ja 'CQ' arvot kirjoitetaan peräkkäin pilkulla erotettuna, aivan kuten ne näkyvät tietokantaristikossa. Ne saa selville myös klikkaamalla Maapallo-kuvaketta, mikä avaa maaluettelon. Siellä näkyy mm. rivi
Germany_EU     ;DL    _14__(230)_
joten suluissa on maan numero ja 14 on CQ. Ellei rivin loppuosaa näy, se saadaan esille vetämällä lomakkeen oikeaa reunaa oikealle.

Jos halutaan tehdä sama temppu USA -kusoille, joudutaan käyttämään kiertotietä, koska niissä CQ-arvot vaihtelevat tai ovat ?

LIKE

WHERE DXCC LIKE '291,%'  joka tarkoittaa: 'maan numero 291 ja CQ voi olla mikä tahansa. % tarkoittaa siis mitä merkkejä tahansa, kuinka monta tahansa. Toinen LIKE määrittelyn apuneuvo on _ joka tarkoittaa: yksi merkki, mikä tahansa. Esimerkiksi WHERE Asema LIKE 'OH_MM'  merkitsee kaikkia OH-asemia, joissa tunnus=MM ja piirinumero mikä tahansa.

******************************************************
KYSELYMALLEJA

DXCC -maitten lukumäärä bandeittain:

SELECT Bandi, COUNT(*) AS [Maita] FROM (SELECT DISTINCT DXCC, Bandi FROM loc4ac)
GROUP BY Bandi;

Samaan päästään myös Erikoistilastolla siirtämällä 'Bandi' vasemmasta kenttäikkunasta oikeaan ja valitsemalla Tilastot/ 'Työskennellyt maat'.
Erikoistilasto: Bandimaat


Takaisin alkuun   

Takaisin kotisivulle