1 query mysqul

sto facendo una quey con mysql usando Mysqul query tra due tabelle, praticamente la prima tabella ho iniziato cosi:

SELECT n.categoria FROM nomi n

WHERE n.categoria;

ho poi creato una tabella categoria composta da una chiave primaria altro non è che un contatore che aumenta automaticamente ed un stringa variabile che ho chiamato nomecategoria a questo punto come faccio a dire che la categoria che sta nella tabelle nomi deve tramite una query puntare nella tabella categoria in modo da aggiornare i dati direttamente da essa?

grazie

 :bye:

inviato 8 anni fa
scooby1574
X 0 X

ho fatto la seguente query:

SELECT n.nome, n.categoria FROM nomi n, categoria c

ORDER BY n.nome;

funziona solo che mi duplica tutti valori presenti mentre nelle singole tabelle sono singole e non capisco come mai ???

 :bye:

risposto 8 anni fa
scooby1574
X 0 X

Nella query che hai scritto non hai specificato con la WHERE il criterio con cui sono legate le due tabelle, ad esempio:

SELECT ... FROM ... WHERE n.id_categoria = c.id

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ciao gianni grazie per la tua risposta ho risolto con questo tipo di query;

ORDER BY n.nome;

SELECT n.nome, n.categoria, n.via  FROM nomi n LEFT JOIN categoria c ON  n.idnomi=c.idcategoria

 ho provato anche con l'inner join,  per capire le differenze e ho notato che il numero di nomi che mi fa vedere dipende dal numero di categorie inserite ,quindi avendo inserito 7 categorie e nove nomi , il risultato della query è che vedo solo 7 nomi.

Ora ho un  problema è nella tabella nomi ho il campo categoria,  che è poi un altra tabella a parte

il  problema vorrei fare in modo che inserendo i dati nel campo categoria automaticamente mi aggiorni la tabella categoria in modo da non dover ogni volta trascrivere il dato.

da quello che ho visto devo usare il comando update  e poi qui mi  blocco

 :bye:

risposto 8 anni fa
scooby1574
X 0 X

Ho provato questa query :

UPDATE n.categoria, c.categoria FROM nomi n, categoria c, join categoria c  categoria c ON  n.idnomi=c.idcategoria;

al 90% quando l'ho fatta sapevo che era sbagliata, ma non dove sbattare la testa

 :bye:

risposto 8 anni fa
scooby1574
X 0 X

ciao gianni seguendo i tuoi consigli  ho fatto la mia prima query funziona bene ed è questa

SELECT n.nome, n.cognome, c.categoria FROM nomi n, categoria c

where n.idnomi=c.idcategoria;

solo che mi è parso un problema ovvero la funzione where n.idnomi=c.idcategoria; in base al' ordine in cui sono stati inseriti nelle rispettive tabelle mi fa apparire nella query

solo che il primo nome della tabella nomi è un amico, mentre nella tabella categoria è famigliari quindi cosi mi associa il nome di un amico ad un campo non corretto, la risoluzione più semplice è quella di ricambiare l'ordine nella teballa categoria, solo che invece vorre fare un discorso diverso ovvero dare la possibilità di selezionare il campo categoria nella query è quindi scegliere quello più indicato,  :bye:

risposto 7 anni fa
scooby1574
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda