SQL Select from e comparazione.

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Arisalve a tutti, so veramente poco di query tuttavia avrei l'esigenza di fare alcune select da un db per estrarne una tabella.

Vi posto il problema.

Ho db (ma va?) in cui ci sono 2 tabelle: user_profiles e users

Ora da users sono riuscito ad estrarre (seguendo https://www.mrw.it/sql/ref/select_393.html) il nome utente, il nome e cognome, la data di registrazione e la mail. Così:

Codice:
SELECT name AS Nome, username AS User, email AS Email, registerDate AS Registrato
FROM users

1. La query funziona. Tuttavia volevo chiedere una cosa, la referenza AS: dopo scrivo il nome da visualizzare, ma se tale nome è composto da due parole? Es "name AS Nome" se lo volessi fa diventare "name AS Nome e cognome" mi da un errore di sintassi ho provato anche così "name AS (Nome e cognome)," ma nulla come è evidente ignoro una sintassi più complessa xD me lo potete spiegare?

2. nella seconda tabella user_profiles ci sono indirizzi e numeri di telefono. la tabella è strutturata così
tab.png

EDIT: volevo dire che l'ordering è sempre lo stesso cioè 1 per l'indirizzo, 2 per la città e 3 per il telefono

Dove l'user id corrisponde all'id dell'utente, profile_key al campo (es indirizzo, numero di tel etc...), profile_value ovviamente al valore.

Ora mi chiedevo se si potesse realizzare una quesy che estrapoli dalle 2 tabelle i valoi che ho estratto già con la query che ho postato più l'indirizzo e il numero di telefono che si trovano nella seconda tabella. Insomma unire i dati dell'una e dell'altra tabella in modo da avere sulla stessa riga i dati corrispondenti a nome, nome utente, mail, città, indirizzo, numero di telefono.

T.T ho cercato in rete ma con le keyword "refernza sql FROM" non ho trovato granchè una manina? =)
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
1.

Si lo puoi fare rendendola una stringa

Codice:
SELECT name AS 'Nome e cognome' FROM tabella.......

2.

Non ho capito con che logica hai strutturato quella tabella, perché non hai memorizzato un profilo per ogni utente con i corrispondenti valori?

Sennò potevi fare una cosa simile
Codice:
//dove 1 è l'id che vuoi recuperare
SELECT * FROM user_profiles,users WHERE user_profiles.user_id = 1 AND users.id = 1
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
1.

Si lo puoi fare rendendola una stringa

Codice:
SELECT name AS 'Nome e cognome' FROM tabella.......

2.

Non ho capito con che logica hai strutturato quella tabella, perché non hai memorizzato un profilo per ogni utente con i corrispondenti valori?

Sennò potevi fare una cosa simile
Codice:
//dove 1 è l'id che vuoi recuperare
SELECT * FROM user_profiles,users WHERE user_profiles.user_id = 1 AND users.id = 1

Grazie per la risposta ^^

La tabella non l'ho strutturata io è questo il problema xD E' generata dal cms joomla. Per fare quello che volevo non esisteva un componente adatto così mi sono ingegnato xD

Provo e vedo se funziona :p


EDIT
No purtroppo non va bene.

Mi spiego meglio.

All'interno del db ho 2 tabelle. Devo far convergere le informazioni delle 2 tabelle in un unica soluzione.

Cominciando per gradi:
Ho ricavato le informazioni che mi servivano dalla prima tabella "users" con la query che ho postato prima.

Ora vorrei integrare nelle informazioni ricavate da users le informazioni aggiuntive che si trovano nella tabella user_profiles. Tale tabella è rappresentata dall'immagine che ti ho postato.

Con la query che mi hai suggerito dà quest'errore Unknown column 'user_profiles.user_id' in 'where clause' [1054]
 
Ultima modifica:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Grazie per la risposta ^^

La tabella non l'ho strutturata io è questo il problema xD E' generata dal cms joomla. Per fare quello che volevo non esisteva un componente adatto così mi sono ingegnato xD

Provo e vedo se funziona :p


EDIT
No purtroppo non va bene.
Se si tratta di joomla prova a chiedere nel forum apposito, magari esiste qualche componente che ti fa la stessa cosa con poche modifiche

Con la query che mi hai suggerito dà quest'errore Unknown column 'user_profiles.user_id' in 'where clause' [1054]
è sbagliato il nome della colonna correggilo oppure aggiusta la condizione come vuoi te, comunque ribadisco il consiglio scritto sopra
 
Ultima modifica:

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Se si tratta di joomla prova a chiedere nel forum apposito, magari esiste qualche componente che ti fa la stessa cosa con poche modifiche


è sbagliato il nome della colonna correggilo oppure aggiusta la condizione come vuoi te, comunque ribadisco il consiglio scritto sopra
Ti ringrazio del consiglio. Ho giá provato a rivolgermi alla community di joomla ma purtroppo non esiste una soluzione "leggera" nè tantomeno una soluzione che mi consente di non metter mano al core di joomla (le modifiche con gli aggiornamenti vanno perse).

L'unica via dunque è questa T.T

Dopo al pc tento nuovamente l'ordinamento dei dati con la query. In caso di problemi posso continuare a postare qui?
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Domanda:
Codice:
WHERE user_profiles.user_id = 1 AND users.id = 1

Perchè hai messo il punto cosa vuol dire?
 
Discussioni simili
Autore Titolo Forum Risposte Data
Emix Select concatenate php sql ajax PHP 2
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
G sql select con array in php PHP 1
daniele8808 [MySQL] SQL SELECT restituisce più valori del dovuto MySQL 2
S Select Concatenate Ajax, php, sql Presentati al Forum 16
D sql select su più tabelle PHP 3
E Select Multipla Su Sql Classic ASP 5
S [PHP] Riempire una casella select con query SQL PHP 11
I Passaggio variabile da javascript a SQL select Javascript 3
E Help Sql somma orari PHP 32
G Importazione file .sql Web Server 0
D data in sql in formato ITA PHP 4
L Studio SQL 2104 o SQL2019 Mac m1 Database 0
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
D passare valori da database sql a php PHP 1
B Stringa sql per ricerca su più campi Database 1
L Interfaccia grafica per gestire sql server .NET Framework 1
L Front-end SQL server Database 0
W Query SQL Classic ASP 2
R Filtro multiplo di selezione Sql PHP 2
C Estrarre dati stringa Sql Database 1
W Mandare a capo valore di SQL Classic ASP 2
G non riesco a capire quale sia l'errore [SQL] MySQL 2
M modificare un file .XML da database Sql PHP 13
M Update con condizione SQL PHP 7
Alex_70 sql importazione dati MySQL 0
Tommy03 Algoritmo classifica SQL MySQL 0
L form multipla php sql,errore in inserimento MySQL 0
L Insert php sql da una form multipla PHP 6
moustache [RISOLTO] SQL PHP IIS PHP 8
WebmasterFioriniAndrea SQL, PHP Come passo i dati da una tabella? PHP 1
S Istruzione sql valori "simili" PHP 7
WebmasterFioriniAndrea [MySQL] sql attributi con nome uguale MySQL 0
D [MySQL] [PHP] SQL andare da capo MySQL 0
felino [Wordpress][WooCommerce] Ripristino ordini da file .sql WordPress 0
A [PHP] registrazione utente in un database sql con confronto PHP 1
S elimina record sql asp classic Classic ASP 5
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
trattorino [PHP] sql estrarre in base all'ultima visita PHP 4
S SQL, ACCESS & ASP CLASSIC - QUERY Classic ASP 3
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
P [Visual Basic] access sql estrarre id vendite x cli e articolo con data maggiore del recordset Visual Basic 2
trattorino [PHP] sql aggiungere dato in una tabella senza cancellare contenuto PHP 6
P [MySQL] MODELLO ER, XAMPP E HEIDI SQL MySQL 0
V [MySQL] You have an error in your SQL syntax MySQL 1
Merlina3377 php insert dati su tabella sql PHP 9
G [MySQL] Errore importazione tabella .sql #1062 - Duplicate entry '592' for key 'PRIMARY' MySQL 20

Discussioni simili