[Tecnica] inner join

bartrosso bartrosso a gmail.com
Mar 29 Nov 2011 10:43:14 GMT


si infatti farò esattamente cosi ti stavo ringraziando ma c'è stato un
sovrapporsi di email scritte lette e mandate :-) sempre quel maledetto
lagavulin <http://www.singlemaltclub.it/prodotto.asp?id=18>

tanga


2011/11/29 Motaz Abuthiab <moty66 a gmail.com>

> Guarda l'esmpio che ti ho postato prima
>
> ho fatto SELECT "Cornice" as tipo, ... ect
>
> hai il campo tipo per sapere quando il record è relativo a progetto o a
> cornice
>
>
> Il 29 novembre 2011 11:39, bartrosso <bartrosso a gmail.com> ha scritto:
> > riesco con la union a stampare tutti gli elementi ordinati ed è gia molto
> >
> > il problema è un altro adesso,
> >
> > so quali sono gli id e le datediconsegna ma non riesco a risalire alla
> > tabella di provenienza
> >
> > ottengo
> >
> > id1     data 11-11-2011 (cornici)
> > id2     data 12-11-2011 (cornici)
> > id32   data 13-11-2011 (schedaprogetto)
> >
> > ma non riesco a memorizzare la tabella da cui provengono...
> > credo che mi converrebbe veramente inserire al momento dell'inserimento
> > in un altra tabella questi due dati con un terzo campo Tipo che salvi se
> sis
> > tratta di cornici o di schedeprogetto
> > e poi usare quella per recuperare i dati
> >
> > grazie di tutto a tutti comunque.
> >
> >
> > sarà il whiskyno torbato forte stravecchio di ieri sera , ma stamane sono
> > leeeeentooooo
> >
> >
> > tanga
> >
> >
> >
> > 2011/11/29 Martino di Filippo <puntodifuga a gmail.com>
> >>
> >> Se vuoi solo i campi "comuni" alle due tabelle:
> >> SELECT id, idoperatore, descrizione, datainizio, datafine FROM
> >> schedaprogetto
> >> UNION
> >> SELECT id, idoperatore, descrizione, datainizio, dataconsegna as
> >> datafine FROM cornici
> >> Puoi ovviamente usare ORDER BY sul risultato della UNION per ordinarli
> >> tutti.
> >> dataconsegna as datafine serve perche' i nomi dei campi nelle due
> tabelle
> >> non corrispondono, e dovresti altrimenti controllare
> $row['dataconsegna'] ||
> >> $row['datafine'] a seconda di quale sia valido per quella riga ;)
> >> Se invece vuoi tutti i campi perche' di serve ad esempio budget nel caso
> >> si tratti di un progetto:
> >> SELECT id, idprogetto, idoperatore, budget, descrizione, tipologia,
> >> datainizio, datafine, NULL as idscheda, NULL as statopratica FROM
> >> schedaprogetto
> >> UNION
> >> SELECT id, NULL as idprogetto, idoperatore, NULL as budget, descrizione,
> >> NULL as tipologia, datainizio, dataconsegna as datafine, idscheda,
> >> statopratica FROM cornici
> >> Ti restituisce un elenco di righe che avranno alcuni valori null a
> seconda
> >> della tabella da cui provengono (le righe da "cornici" avranno ad
> esempio
> >> idprogetto nullo).
> >>
> >> Martino
> >>
> >>
> >> 2011/11/29 bartrosso <bartrosso a gmail.com>
> >>>
> >>> tabella schedaprogetto
> >>> id primary key
> >>> idprogetto chiave esterna per la specifica del progetto
> >>> idoperatore
> >>> budget
> >>> descrizione
> >>> tipologia
> >>> datainizio
> >>> datafine
> >>>
> >>>
> >>>
> >>>
> >>> tabella cornici
> >>>
> >>> id primary key
> >>> idscheda chiave esterna con dettaglio pezzi in uso
> >>> idoperatore
> >>> descrizione
> >>> datainizio
> >>> dataconsegna
> >>> statopratica
> >>>
> >>>
> >>>
> >>> i dati contenuti adesso sono completamente casuali
> >>>
> >>> se eseguo una semplice select su cornici ottengo 3 elementi
> >>> se eseguo una select su schedaprogetto ottengo 2 elementi
> >>>
> >>> vorrei una select che mi dia i 5 elementi cosi da poterli ordinare per
> >>> dataconsegna e stop
> >>>
> >>> inner join mi restituisce 6 elemeni con tutte le combinazioni così
> >>> tabellate, che mi rende impossibile ciclare per
> >>>
> >>> t1t1
> >>> t1t2
> >>> t1t3
> >>> t2t1
> >>> t2t2
> >>> t2t3
> >>>
> >>>
> >>> p.s. ho letto ora la tua ultima mail, ma ormai te la invio lo stesso
> :-)
> >>>
> >>> tanga
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> 2011/11/29 Motaz Abuthiab <moty66 a gmail.com>
> >>>>
> >>>> Puoi incollare la struttora delle tabelle ed esempio di dati ?
> >>>>
> >>>>
> >>>> Il giorno 29 novembre 2011 11:10, bartrosso <bartrosso a gmail.com> ha
> >>>> scritto:
> >>>>>
> >>>>> ti ringrazio delle risposte velocissime, ma continuo ad avere
> problemi.
> >>>>>
> >>>>> Non è difficile, ho letto i manuali, l'ho anche gia rifatto in
> passato,
> >>>>> ma io da ste tabelle non riesco a tirare fuori niente. quindi sto
> sbagliando
> >>>>> qualcosa.
> >>>>>
> >>>>> Allora ho due tabelle, con UN SOLO elemento ciascuno
> >>>>>
> >>>>> fatta la select cornici.*, schedaprogetto.* FROM cornici,
> >>>>> schedaprogetto dallo spazio SQL di phpmyadmin ottengo
> >>>>> non due ma una riga di risultato, contenente TUTTI i campi delle due
> >>>>> tabelle
> >>>>>
> >>>>> come faccio ciclarle?
> >>>>>
> >>>>> se inserisco più elementi per riga non ottengo le righe delle
> tabelle,
> >>>>> ottengo una loro combinazione.
> >>>>>
> >>>>> cioè 2 elementi per tabella mi restituiscono 4 elementi contenenti le
> >>>>> combinazioni,
> >>>>>
> >>>>> 2 elementi in una e 3 nell'altra ottengo 6 righe con le combinazioni
> >>>>> 2X3
> >>>>>
> >>>>> e cosi via.
> >>>>>
> >>>>>
> >>>>> Semplicemente mi servono i risultati delle due select messi in fila,
> >>>>>
> >>>>> c'è il modo o devo crearmi per ogni inserimento una tabella terza che
> >>>>> si salvi TUTTI gli inserimenti con riferimenti esterni?? mi sembra
> strano..
> >>>>>
> >>>>>
> >>>>> tanga
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> 2011/11/29 Motaz Abuthiab <moty66 a gmail.com>
> >>>>>>
> >>>>>> Buongiorno
> >>>>>>
> >>>>>> select t1.*,t2.*, t1.dataconsegna as t1dataconsegna ,
> t2.dataconsegna
> >>>>>> as dataconsegna2 from tablella1 as t1, tabella2 as t2 where
> .........
> >>>>>>
> >>>>>> cosi hai due data consegna
> >>>>>>
> >>>>>> m.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Il giorno 29 novembre 2011 10:53, bartrosso <bartrosso a gmail.com>
> ha
> >>>>>> scritto:
> >>>>>>>
> >>>>>>> scusatemi,
> >>>>>>> mi spiego meglio.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> ho due tabelle una di ordini cornici e una di schedeprogetto (altra
> >>>>>>> categoria lavorativa). Entrambe le tabelle contengono il dato
> dataconsegna.
> >>>>>>>
> >>>>>>> devo ordinare tutti gli elementi di entrambe le tabelle disposte
> per
> >>>>>>> dataconsegna per tirare fuori uno scadenzario.
> >>>>>>>
> >>>>>>> la domanda, devo semplicemente selezionare tutti gli elementi da
> >>>>>>> entrambe le tabelle e stamaprle ordinandole per dataconsegna.
> >>>>>>>
> >>>>>>>
> >>>>>>> quale tipo di join devo usare?
> >>>>>>>
> >>>>>>> tanga
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> 2011/11/29 bartrosso <bartrosso a gmail.com>
> >>>>>>>>
> >>>>>>>> mi sono letto il fucking manual, ma qual'è la differenza reale tra
> >>>>>>>> fetch array e fetch assoc??
> >>>>>>>> non capisco, crea un array associativo invece di uno ... uguale
> con
> >>>>>>>> un valore assoc su eventuali secondi parametri.
> >>>>>>>> bene.
> >>>>>>>>
> >>>>>>>> tradotto?
> >>>>>>>>
> >>>>>>>> è più meglio?
> >>>>>>>>
> >>>>>>>> tanga
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> 2011/11/28 Motaz Abuthiab <moty66 a gmail.com>
> >>>>>>>>>
> >>>>>>>>> Non devi usare tabella.alias, basta il nome del campo, se hai due
> >>>>>>>>> campi con nomi uguali dovresti fare select t1.id as t1_id, t2.idas t2_id
> >>>>>>>>> from t1, t2 where ......
> >>>>>>>>> Ti consiglio di usare mysql_fetch_assoc() invece di fetch_array()
> >>>>>>>>> M.
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Crea il tuo sito con dinamocms.com
> >>>>>>>>> Il giorno 28/nov/2011, alle ore 19:50, bartrosso
> >>>>>>>>> <bartrosso a gmail.com> ha scritto:
> >>>>>>>>>
> >>>>>>>>> scusatemi
> >>>>>>>>>
> >>>>>>>>> ma quando devo fare una inner join con mysql e unisco due
> tabelle,
> >>>>>>>>> usando gli alias,
> >>>>>>>>>
> >>>>>>>>> come si fa il fetch array dei risultati?
> >>>>>>>>>
> >>>>>>>>> Es:
> >>>>>>>>>
> >>>>>>>>> $query=mysql_query("SELECT * from pippo as p, topolino as t");
> >>>>>>>>>
> >>>>>>>>> while($res=mysql_fetch_array($query)){
> >>>>>>>>> $id1=$res['p.id'];
> >>>>>>>>> $id2=$res['t.id'];
> >>>>>>>>> }
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> QUESTO NON MI FUNZIONA, ma non mi da neanche errori
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Tanga aka Bartrosso
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Sono ciò che sono grazie a quello che siamo tutti,
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> un mio amico mi ha detto che ubuntu significa: "Non so
> configurare
> >>>>>>>>> Debian.."
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> «Immagina se ogni persona sulla terra potesse condividere con
> >>>>>>>>> accesso libero e totale tutta la conoscenza umana.»
> >>>>>>>>> — Jimmy Wales, fondatore di Wikipedia
> >>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> Tecnica mailing list
> >>>>>>>>> Tecnica a liste.siena.linux.it
> >>>>>>>>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> Tecnica mailing list
> >>>>>>>>> Tecnica a liste.siena.linux.it
> >>>>>>>>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Sono ciò che sono grazie a quello che siamo tutti,
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> un mio amico mi ha detto che ubuntu significa: "Non so configurare
> >>>>>>>> Debian.."
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> «Immagina se ogni persona sulla terra potesse condividere con
> >>>>>>>> accesso libero e totale tutta la conoscenza umana.»
> >>>>>>>> — Jimmy Wales, fondatore di Wikipedia
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Sono ciò che sono grazie a quello che siamo tutti,
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> un mio amico mi ha detto che ubuntu significa: "Non so configurare
> >>>>>>> Debian.."
> >>>>>>>
> >>>>>>>
> >>>>>>> «Immagina se ogni persona sulla terra potesse condividere con
> accesso
> >>>>>>> libero e totale tutta la conoscenza umana.»
> >>>>>>> — Jimmy Wales, fondatore di Wikipedia
> >>>>>>>
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> Tecnica mailing list
> >>>>>>> Tecnica a liste.siena.linux.it
> >>>>>>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> --
> >>>>>>
> >>>>>> Crea il tuo sito con Dinamo Cms
> >>>>>> http://www.dinamocms.com
> >>>>>> .
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Tecnica mailing list
> >>>>>> Tecnica a liste.siena.linux.it
> >>>>>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Sono ciò che sono grazie a quello che siamo tutti,
> >>>>>
> >>>>>
> >>>>>
> >>>>> un mio amico mi ha detto che ubuntu significa: "Non so configurare
> >>>>> Debian.."
> >>>>>
> >>>>>
> >>>>> «Immagina se ogni persona sulla terra potesse condividere con accesso
> >>>>> libero e totale tutta la conoscenza umana.»
> >>>>> — Jimmy Wales, fondatore di Wikipedia
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Tecnica mailing list
> >>>>> Tecnica a liste.siena.linux.it
> >>>>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> --
> >>>>
> >>>> Crea il tuo sito con Dinamo Cms
> >>>> http://www.dinamocms.com
> >>>> .
> >>>>
> >>>> _______________________________________________
> >>>> Tecnica mailing list
> >>>> Tecnica a liste.siena.linux.it
> >>>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Sono ciò che sono grazie a quello che siamo tutti,
> >>>
> >>>
> >>>
> >>> un mio amico mi ha detto che ubuntu significa: "Non so configurare
> >>> Debian.."
> >>>
> >>>
> >>> «Immagina se ogni persona sulla terra potesse condividere con accesso
> >>> libero e totale tutta la conoscenza umana.»
> >>> — Jimmy Wales, fondatore di Wikipedia
> >>>
> >>>
> >>> _______________________________________________
> >>> Tecnica mailing list
> >>> Tecnica a liste.siena.linux.it
> >>> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>>
> >>
> >>
> >> _______________________________________________
> >> Tecnica mailing list
> >> Tecnica a liste.siena.linux.it
> >> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >>
> >
> >
> >
> > --
> > Sono ciò che sono grazie a quello che siamo tutti,
> >
> >
> >
> > un mio amico mi ha detto che ubuntu significa: "Non so configurare
> Debian.."
> >
> >
> > «Immagina se ogni persona sulla terra potesse condividere con accesso
> libero
> > e totale tutta la conoscenza umana.»
> > — Jimmy Wales, fondatore di Wikipedia
> >
> >
> > _______________________________________________
> > Tecnica mailing list
> > Tecnica a liste.siena.linux.it
> > http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
> >
> >
>
>
>
> --
> --
>
> Crea il tuo sito con Dinamo Cms
> http://www.dinamocms.com
> .
> _______________________________________________
> Tecnica mailing list
> Tecnica a liste.siena.linux.it
> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/tecnica
>



-- 
Sono ciò che sono grazie a quello che siamo tutti,



un mio amico mi ha detto che ubuntu significa: "Non so configurare Debian.."


«Immagina se ogni persona sulla terra potesse condividere con accesso
libero e totale tutta la conoscenza umana.»
— Jimmy Wales, fondatore di Wikipedia
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://liste.siena.linux.it/pipermail/tecnica/attachments/20111129/ad196d53/attachment-0001.htm>


Maggiori informazioni sulla lista Tecnica