giovedì 11 novembre 2010

SQL: JOIN con Micosoft Access

Oggi mi sono "impelagato" per fare una query semplice che però non faccio spesso, e quindi sbaglio ogni volta che mi serve.

Ho una tabella con un elenco di prodotti chiamata t_prodotti(id, nome, descrizione) appunto e una tabella con dei files associati ai vari prodotti, la t_files_prodotto(id, id_prodotto, path, descrizione, tipo).

Le tabelle sono così strutturate

t_prodotti
-------------------------------------------------
1 "Cappello fiorato" "Cappello ecc. ecc."
2 "Cappello lana" "Cappello ecc. ecc."
3 "Cappello cotone" "Cappello ecc."
-------------------------------------------------

t_files_prodotto
---------------------------------------------------------------------
1 1 http://www.miosito.it/img/1.jpg "Vista frontale" jpg
2 1 http://www.miosito.it/img/2.jpg "Vista laterale" jpg
3 1 http://www.miosito.it/docs/1.pdf "Manuale" pdf
4 2 http://www.miosito.it/img/3.jpg "Vista laterale" jpg
5 3 http://www.miosito.it/img/2.pdf "Brochure" pdf
---------------------------------------------------------------------

Voglio visualizzare tutti i prodotti con la loro immagine, quindi scrivo:

SELECT nome, descrizione, path FROM t_prodotti INNER JOIN t_files_prodotto ON t_prodotti.id=T_files_prodotto.id_prodotto

Ecco il risultato:
-------------------------------------------------------------------------
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/1.jpg
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/2.jpg
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/1.pdf
"Cappello lana" "Cappello ecc." http://www.miosito.it/img/3.jpg
"Cappello cotone" "Cappello ecc." http://www.miosito.it/img/2.pdf
-------------------------------------------------------------------------

Non è certo quello di cui ho bisogno! Così ho visualizzato anche dei prodotti con dei files PDF e non solo le fotografie. Modifico la mia query

SELECT nome, descrizione, path FROM t_prodotti INNER JOIN t_files_prodotto ON t_prodotti.id=t_files_prodotto.id_prodotto WHERE t_files_prodotto.tipo="jpg"

Ecco il risultato della query modificata:
-------------------------------------------------------------------------
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/1.jpg
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/2.jpg
"Cappello lana" "Cappello ecc." http://www.miosito.it/img/3.jpg
-------------------------------------------------------------------------

Ora ho eliminato i PDF ma con loro ho perso il prodotto 4 che non aveva foto ma che comunque voglio nell'elenco! Quindi seconda modifica della query

SELECT nome, descrizione, path FROM t_prodotti LEFT OUTER JOIN t_files_prodotto ON t_prodotti.id=t_files_prodotto.id_prodotto WHERE t_files_prodotto.tipo="jpg"

Ecco il risultato della query modificata la seconda volta:
-------------------------------------------------------------------------
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/1.jpg
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/2.jpg
"Cappello lana" "Cappello ecc." http://www.miosito.it/img/3.jpg
"Cappello cotone" "Cappello ecc." null
-------------------------------------------------------------------------

Ho solo il doppione da elminiare sulla tabella prodotti, quindi terza modifica:
SELECT nome, descrizione, path FROM t_prodotti LEFT OUTER JOIN (SELECT TOP 1 * FROM t_files_prodotto ON t_prodotti.id=t_files_prodotto.id_prodotto) as t_files WHERE t_files.tipo="jpg"

Ecco il risultato della query modificata la seconda volta:
-------------------------------------------------------------------------
"Cappello fiorato" "Cappello ecc." http://www.miosito.it/img/1.jpg
"Cappello lana" "Cappello ecc." http://www.miosito.it/img/3.jpg
"Cappello cotone" "Cappello ecc." null
-------------------------------------------------------------------------

Ecco il mio elenco filtrato, ho finalmente risolto, ci sono tutti i prodotti con 1 foto, ad eccetto del prodotto che non ha nessuna foto associata.

Posso dormire tranquillo

G

lunedì 12 luglio 2010

Facebook Panic Button - Per la tutela dei minori

Facebook lancia il "Panic Button", una applicazione che d'ora in avanti comparirà nel profilo di tutti gli utenti tra i 13 e i 18 anni, e che servirà a segnalare abusi di possibili molestatori.

L'iniziativa, per ora rivolta solo agli utenti del Regno Unito, è stta promossa dallo stesso Facebook e dalla Child Exploitation and Online Protection Centre, è stata ideata dopo che lo stupratore seriale Peter Chapman ha violentato e ucciso una giovane diciassettenne conosciuta proprio su Facebook, fingendosi un coetaneo.

Google torna in Cina, ma un po' castrato

Google torna in Cina, dopo aver reindirizzato tutto il traffico cinese su , Google ha siglato un accordo con il governo cinese per tornare online sul dominio tradizionale.

Ovviamente ha dovuto siglare un accordo con alcune limitazioni per andare incontro alla censura del governo di Pechino.

Maggiori informazioni qui.

Dispositivi Tablet, a cosa servono?

Dopo la domanda che tutti ci siamo posti e a cui milioni di italiani hanno trovato una risposta: A cosa serve un cellulare da 700 euro con una batteria che non dura un giorno, pessima ricezione, zoppicante nelle relazioni con gli altri dispositivi non Apple?
Chi ha trovato una risposta con meno di due z se l'è comprato, ed ora passa le giornate a caricare, scaricare, taggare, fotografare, ma per telefonare usa ancora
il suo cellulare.

La nuova domanda è: A cosa serve un tablet PC, o Multimedia tablet o che dir si voglia?
Non critico solo Apple e l'iPad, anche le altre case si stanno attrezzando, e sembra che il mercato risponda bene.

A me piace Android; è veloce, chiaro, Open Source, usabile, diffuso. Però se viene montato su dispositivi come ad esempio gli Archos 5 o 7 allora non capisco; manca l'UMTS e qualsiasi connettività ad eccezione del wifi, quindi compro un minipc da 5 o 7 pollici per usarlo sul divano di casa? Quindi butto il notebook, anzi no perchè se devo scrivere voglio la tastiera. Quindi serve solo per giocare e leggere gli eBook? Beh ma per gli eBook ci sono i reader e-Ink.

Quindi la domanda persiste: A cosa servono i tablet PC?

domenica 10 gennaio 2010

HTC presenta SMART - Il primo della sua linea con Qualcomm Brew MP

HTC in questi giorni sta presentando il suo nuovo smartphone, si tratta dell'HTC Smart, che si pone come terminale user friendly a medio budget.

Il suo design compatto e l'interfaccia Sense, garantiscono un'esperienza di utilizzo molto divertente.

Si tratta di un quad-band GSM/GPRS/EDGE e HSPA, Bluetooth WiFi e GPS, è equipaggiato con un processore da 300 MHz (Qualcomm appunto), 256 MB di memoria ROM, 256 MB di memoria RAM e un touchscreen TFT da 2,8 pollici QVGA.

Ecco una prova

I Trombati dal nuovo palinsesto Radio 2

Leggo e rileggo i nuovi programmi inseriti dal caro Mucciante, mi chiedo se faccio parte di una così piccola nicchia di ascoltatori a cui piaceva veramente Condor e non avrebbe mai fatto cambio con Traffic, programma che credo tenti di rubare ascoltatori al mio quasi concittadino Mazzoli con lo ZOO di 105.
Condor con la sua controinformazione, che si trasformava sempre in anticonformismo, antimandrizzazione delle masse. Condor con la sua musica alternativa ma non troppo.
Condor condotto da chi ha le sue idee, non ha paura di esprimerle ma contemporaneamente non le vuole imporre o scolpire nella roccia come comandamenti, le propone come stimolo al pensiero trasversale.

Caro Sofri, caro Bordone, se trovate un'altra radio che iv ospita fatemelo sapere, mi risintonizzo subito!

G

sabato 9 gennaio 2010

Google Nexus One - Presto in Italia

L'anti-Iphone, il nuovo HTC Nexus One (il terzo Googlefonino), sarà presto nei listini di Vodafone Italia.
Il telefono, equipaggiato con l'ultima release di Android, e in Europa (ma in America no) abilitato ad applicazioni multitouch, è venduto in USA abbinato ad un abbonamento AT&T a 175 dollari, mentre libero ad un prezo vicino ai 550 dollari.
Speriamo che in Italia non venga proposto a 800 euro, quando il cambio valuta sarebbe sui 400 euro.

Fa gola?