Uporabnik:Andrejj/SQL

Iz Wikipedije, proste enciklopedije

SQL poizvedbe[uredi | uredi kodo]

Sunjeno s Heretikove strani:

Druga varianta je uporaba SQL vmesnika. Kot SQL poizvedbo vnesite

select distinct concat('<br>[[:Image:', img_name, ']]') as name
from image where img_user_text='UPORABNISKO_IME'
order by name asc

kjer UPORABNISKO_IME pač nadomestite z ustreznim up. imenom (mislim, da je stvar case sensitive; pazite, da ostane enojna narekovaja). Če obvladate (My)SQL (verjetno bo kje na Wikibooks kakšna bukla na to temo), lahko še kaj dodate ali si prikrojite po svoje. Pod tem vnosnikom izberite še jezik (sl), po želji lahko vnesete email naslov, kamor se bodo poslali rezultati, nato pa udarite po "Send query". Na dnu novo odprte strani kliknite "To the results of your query", kjer boste dobili rezultate, sporočila o napakah ali pa opozorilo, da se stvar še ni dokončala in da osvežite stran. Izberete lahko še format izpisa (tabela, wiki tabela, wiki seznam), na koncu pa rezultate pač copy/pastate na kakšno od vaših uporabniških strani ali kamorkoli že.

Na ta način se najdejo le slike, kjer je iskani uporabnik vnesel zadnjo različico. Tako mi ne najde nekaterih slik trikotnikov, ki sem jih začel, XJam pa naknadno pobarval.

Odlično. Stvar v SQL-u odlično dela (kar je za programe prava izjema). Hvala. --Janez Novak 6 julij 2005 18:29 (CEST)
Deluje. Kako stvar prepričaš, da izpiše še preostale slike. Pri meni napiše, da jih je prek 900, izpisalo pa jih bo le prvih 500. --xJaM 7 julij 2005 16:52 (CEST)
Čudno, iz poizvedbe sem namerno izbrisal ukaz za omejitev zadetkov. Lahko probaš dodati limit 1000 (ali še kakšno večjo številko), lahko asc popraviš v desc, da se bo zamenjal vrstni red, mislim, da tam (gl. razdelek o SQL Pod lipo) piše neka finta a la "limit 500+500", ki naj bi pomenila naslednjih 500 zadetkov. Če nič od tega ne deluje, je zelo nepraktična možnost dumpanja baze k sebi, inštalacija MySQL in igranje po tej kopiji baze, sicer pa odgovor vejo samo razvijalci. Žql o SQL vem samo najosnovnejše osnove :-( --Heretik 7 julij 2005 17:21 (CEST)

Dodal sem 3500, pa ne pomaga. Finta LIMIT 500+500 mi ne deluje. Trenutno sem rešil potem z desc in sortiral obrnjen izpisan seznam. Hvala za nasvete. Jaz vem o SQL še manj. --xJaM 7 julij 2005 17:41 (CEST)

Nekaj fint različnih poizvedb je tukaj. Tam piše, da sem se malo zmotil z "limit 500+500",namest tega bi moralo biti "limit 500, 500", ki naj bi (če niso v vmesnik vgradili kakšnih dodatnih omejitev) izpisala zadetke med 501. in 1000. --Heretik 7 julij 2005 17:58 (CEST)