[Tecnica] inner join

Motaz Abuthiab moty66 a gmail.com
Mar 29 Nov 2011 10:29:15 GMT


credo che ti serve qualcosa del genere

(
(
SELECT
	"progetto" as tipo,
	schedaprogetto.id,
	schedaprogetto.idoperatore,
	schedaprogetto.descriozione,
	schedaprogetto.datafine as scadenza
FROM
	schedaprogetto
)
UNION
(
	SELECT
	"cornice" as tipo,
	cornici.id,
	cornici.idoperatore,
	cornici.descriozione,
	cornici. dataconsegna as scadenza
FROM
	schedaprogetto
)
) ORDER BY scadenza


Il giorno 29 novembre 2011 11:21, bartrosso <bartrosso a gmail.com> ha scritto:
>
> 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.id as 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
>



--
--

Crea il tuo sito con Dinamo Cms
http://www.dinamocms.com
.


Maggiori informazioni sulla lista Tecnica