Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    Join SQL senza clausola

    è possible usare una Join ma senza specificare ON?

    da una prima tabella devo prendere dei dati, da una seconda tabella devo prendere un solo dato che sono sicuro esiste.
    Una sintassi SQL corretta prevede una Join senza ON?

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Se si tratta di un INNER JOIN si può fare anche così

    codice:
    SELECT * FROM tabella1, tabella2

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    La domanda non ha senso, posta così.
    Spiega meglio qual è la relazione fra le due tabelle

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    in pratica, devo fare questa cosa:

    C'è una tabella con gli iscritti: username, nome, password ecc....
    C'è una tabella con delle semplici impostazioni della pagina web: colore, dimensione ecc. che valgono per tutti.
    Nessuna relazione tra le due, ovvio, in quanto si occupano di dati compeltamente diversi tra loro.

    Visto che dalla tab delle impostazioni mi serve spesso e volentieri solo qualche campo, invece di scrivere 2 volte mysql_query("select utenti...") e mysql_query("select impostazioni...") vorrei prendermi dalla tabella Utenti i dati che mi servono e dalla tabella Impostazioni solo quei 2-3 valori...

    Come posso ottenere ciò?

  5. #5
    Originariamente inviato da LucianoS
    in pratica, devo fare questa cosa:

    C'è una tabella con gli iscritti: username, nome, password ecc....
    C'è una tabella con delle semplici impostazioni della pagina web: colore, dimensione ecc. che valgono per tutti.
    Nessuna relazione tra le due, ovvio, in quanto si occupano di dati compeltamente diversi tra loro.

    Visto che dalla tab delle impostazioni mi serve spesso e volentieri solo qualche campo, invece di scrivere 2 volte mysql_query("select utenti...") e mysql_query("select impostazioni...") vorrei prendermi dalla tabella Utenti i dati che mi servono e dalla tabella Impostazioni solo quei 2-3 valori...

    Come posso ottenere ciò?
    come gia' ti ha detto Luca200 devi avere una relazione tra gli utenti e le impostazioni altrimenti la cosa non avrebbe senso.

    In pratica nella tabella utenti dovrebbe esserci un campo con l'id del record impostazioni che ti serve per quel determinato utente. Se non puoi modificare la tabella continua a fare due query.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    l'unica soluzione che mi viene in mente è di utilizzare una UNION ed un campo fittizzio per indicare cosa contiene la riga, inoltre ci sarebbe da far corrispondere anche il numero di colonne estratte dalle due query senza considerare poi che il codice di gestione diventerebbe più complesso ^^

    in pratica, mi aggrego al coro ... non ha molto senso

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    perchè? non vi seguo.
    Le impostazioni sono per la pagine e non per gli utenti.

    Attualmente faccio:

    Codice PHP:
    mysql_query("SELECT imp1, imp2, imp3 FROM impostazioni");
    mysql_query("SELECT nome, cognome, citta, ecc FROM utenti WHERE id=viaget"); 
    se faccio una cosa del genere:
    Codice PHP:
    SELECT ut.nomeut.cognomeut.cittaim.imp1im.imp2
    FROM utenti ut
    impostazioni im
    WHERE ut
    .id=viaget 
    da phpmyadmin funziona. Non è standard sql?

  8. #8
    se ti vuoi trovare una massa di roba si, puoi farlo

    considera che cosi, mysql, ti combinerà le righe quindi se hai 10 righe da una parte e 20 dall'altra verranno fuori 200 risultati ^^

    per queste cose si usa la union, ma ti ripeto ti complichi la vita, complichi il codice sorgente, ed aumenti la possibilità di bug

    domani, che magari insieme all'utente vuoi estrarre, che so, altre informazioni prese da altre tabelle ... dovrai andare a scomporre questa query per tirare fuori la roba dell'utente con l'utente e le impostazioni a se stanti

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    Nella tabella config ho solo una riga e prendo di volta in volta le impostazioni (i campi) che mi servono

    Nella tabella Utenti invece prendo di volta in volta solo un utente via GET

  10. #10
    si, ma:
    1° dal codice che hai postato non vedo controlli, il che vuol dire che si potrebbero fare delle sql injection che ti vanno a modificare anche il contenuto del sito
    2° tu ad oggi non fai nient'altro ma se domani vai a farlo e ti tocca smontare tutta la struttura che hai previsto la situazione si complica
    3° la configurazione del sito dovresti leggerla prima, no? e se l'utente è anonimo?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.