selezionare intere tabelle in una query

come da titolo voglio capire come fare a selezionare interi dati [ * ]  da 2 o più tabelle contemporaneamente utilizzando una singola query.

e nel caso dovessi limitare [ LIMIT 6] i record da mostrare in una sola tabella?

inviato 11 anni fa
Andrea Turso
Andrea Turso
96
modificato 11 anni fa
X 0 X

Se ho capito bene vorresti fare la join su + tabelle facendo restituire tutti i campi:

http://dev.mysql.com/doc/refman/5.0/en/join.html

Ex:

SELECT * 
FROM tabella1 
LEFT JOIN tabella2 ON tabella2.IDtabella1=tabella1.IDtabella1 
WHERE (condizione)

Prova a vedere al link che ti ho postato...

ciao

risposto 11 anni fa
Lore
Lore
1
X 0 X

io devo mostrare annunci ordinati per up_id e news ordinate per news_id tutti e due DESC e alle news devo mettere poi un collegamento a una pagina tipo ?id=news_id

k? ora provo con il tuo codice ;) grazie

ps non ho ben capito questo pezzettino di codice tabella2.IDtabella1=tabella1.IDtabella1

risposto 11 anni fa
Andrea Turso
Andrea Turso
96
modificato 11 anni fa
X 0 X

Sinceramente, da quanto hai scritto, forse conviene farlo in due query distinte, ma è solo una considerazione personale, perchè alla fine non so come devi gestire il tuo lavoro, quindi l'unico modo è provare, no? ;D

ciao

Lore

risposto 11 anni fa
Lore
Lore
1
X 0 X

beh in verità erano già gestite da due query diverse :D solo che eseguire 4 query per una sola pagina mi sembra eccessivo (non lo è??)

risposto 11 anni fa
Andrea Turso
Andrea Turso
96
X 0 X

ps non ho ben capito questo pezzettino di codice

tabella2.IDtabella1=tabella1.IDtabella1

Ah, non avevo visto l'aggiunta al post precedente, cmq questa è il codice che fa unire due tabella che hanno un campo in comunq, che le lega...

Ad esempio, se hai una tabella categorie ed una prodotti del tipo:

categoria

IDcategoria

nomecategoria

prodotto

IDprodotto

IDcategoria

nome_prodotto

In questo caso IDcategoria è il campo che lega le due tabelle, se volessi estrarre tutti i valori dalle 2 dove il prodotto contiene la parola 'sport', ad esempio,farei:

SELECT *
FROM categoria
LEFT JOIN prodotto ON categoria.IDcaetgoria=prodotto.IDcategoria
WHERE nome_prodotto LIKE '%sport%'

Spero di essere stato chiaro...

PS per il fatto delle 4 query nella pagina, non so se è eccessivo, devi valutarlo tu in base al tempo di esecuzione e restituzione dati...+ l'utente ci impiega ad ottenere quello che vuole, prima scappa, no  :2funny:?

ciao

risposto 11 anni fa
Lore
Lore
1
X 0 X

beh cmq sono pochi i dati [informazioni sulle news e annunci vari nn + di 2 secondi in casi estremi :D (e per caso estremo intendo parecchio, parecchio testo)]

risposto 11 anni fa
Andrea Turso
Andrea Turso
96
X 0 X
beh cmq sono pochi i dati [informazioni sulle news e annunci vari nn + di 2 secondi in casi estremi :D (e per caso estremo intendo parecchio, parecchio testo)]

Bhè, cmq, se ti va, prova a diminuire anche le query, giusto per provare, poi valuterai qual'è la soluzione migliore...

ciao

risposto 11 anni fa
Lore
Lore
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda