Pagina 1 di 8 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 74
  1. #1
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    259

    Query su due tabelle con campi con stesso nome

    Buongiorno a tutti.

    Dovrei fare una query su due tabelle cercando sulla tabella 2 tutte le corrispondenze di un determinato campo in tabella 1.

    Avrei bisogno anche di estrapolare dalla tabella 1 tutti i dati, compresi quelli che non hanno corrispondenza con tabella 2.

    Credo si possa usare:

    Codice PHP:
    SELECT FROM tabella1 LEFT JOIN tabella2 ON  tabella1.id tabella2.id 
    Sia la tabella 1 che la tabella 2 hanno un campo che si chiama "note" che contiene del testo, questo può essere un problema?

    Come riconosco note da tabella 1 e note da tabella2?

    Grazie.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  2. #2
    a parte il fatto che SELECT * è una very bad practice (il consiglio è di specificare i soli campi che ti interessano), per ovviare usa gli alias di tabella

    SELECT T1.*, T2.* FROM tabella1 T1 LEFT JOIN tabella2 T2 ON T1.id = T2.id

    o meglio ancora usare pure gli alias di colonna

    SELECT T1.campo1 AS t1campo1, T1.Campo2 AS t2campo2,..., T2.campo1 AS t1campo1, T2.campo2* AS t2campo, ... FROM tabella1 T1 LEFT JOIN tabella2 T2 ON T1.id = T2.id

    per gli alias usa i nomi che vuoi, meglio se parlanti, e non usare parole riservate

  3. #3
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    259
    SELECT T1.*, T2.* FROM tabella1 T1 LEFT JOIN tabella2 T2 ON T1.id = T2.id

    Non capisco T1 e T2, le tabelle si chiamano fornitori e articoli, mi puoi spiegare?

    Grazie.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  4. #4
    Quote Originariamente inviata da Max Della Pena Visualizza il messaggio
    SELECT T1.*, T2.* FROM tabella1 T1 LEFT JOIN tabella2 T2 ON T1.id = T2.id

    Non capisco T1 e T2, le tabelle si chiamano fornitori e articoli, mi puoi spiegare?

    Grazie.
    T1 è semplicemente un alias di tabella1 ( viene dichiarato qui "... FROM tabella1 T1" )
    che puoi usare per referenziarla;
    ... tutto qui

  5. #5
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    259
    Se ho ben capito.

    SELECT aliastabella1.*, aliastabella2.* FROM tabella1 aliastabella1 LEFT JOIN tabella2 saliastabella2 ON aliastabella1.id = aliastabella2.id

    Corretto?
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  6. #6
    sì, ma usa degli alias brevi, altrimenti ti conviene usare direttamente i nomi di tabella

  7. #7
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    259
    OK grazie ad entrambi per l'aiuto.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  8. #8
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    259
    Ho anche il problema di un doppio DATE FORMAT.

    E' fattibile?

    Dovrebbe essere:

    SELECT T1.*, DATE_FORMAT(data, '%d-%m-%Y') AS datax, , T1.note AS T1note, T2.*,DATE_FORMAT(data, '%d-%m-%Y') AS datay* FROM tabella1 T1 LEFT JOIN tabella2 T2 ON T1.id = T2.id
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  9. #9
    Quote Originariamente inviata da Max Della Pena Visualizza il messaggio
    Ho anche il problema di un doppio DATE FORMAT.
    E' fattibile?
    Cioè ?... cosa devi fare ?



    Quote Originariamente inviata da Max Della Pena Visualizza il messaggio
    Dovrebbe essere:

    SELECT T1.*, DATE_FORMAT(data, '%d-%m-%Y') AS datax, , T1.note AS T1note, T2.*,DATE_FORMAT(data, '%d-%m-%Y') AS datay* FROM tabella1 T1 LEFT JOIN tabella2 T2 ON T1.id = T2.id
    E' MySql giusto ?

    non si capisce cosa devi fare ma sembra formalmente corretta
    ad eccezione di AS datay*
    che non so se va bene l'asterisco nel nome dell'alias
    e non mi sembra abbiano senso i due date_format dello stesso campo data
    Ultima modifica di sspintux; 28-08-2020 a 23:20

  10. #10
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    259
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    Cioè ?... cosa devi fare ?





    E' MySql giusto ?

    non si capisce cosa devi fare ma sembra formalmente corretta
    ad eccezione di AS datay*
    che non so se va bene l'asterisco nel nome dell'alias
    e non mi sembra abbiano senso i due date_format dello stesso campo data
    Si MSQL.

    AS datay* è un mio errore, non ci và.

    Ho due tabelle con entrambe un campo data, i date_format mi servono per stampare entrambe le date in formato europeo.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.