- Home
- Categorie
- Coding e Sistemistica
- Coding
- Select tra due tabelle come si fa?
- 
							
							
							
							
							Select tra due tabelle come si fa?Non sono molto pratico, questa è la mia query che funziona: [PHP]$result = mysql_query("SELECT link_content,link_id,link_urlFROMnews_linksLIMIT 1, 100")
 or die(mysql_error());[/PHP]ora devo estrarre i video da un'altra tabella: **news_video ** che all'interno contiene i campi link_id e code dove chiaramente code è il codice di youtube per il video e link_id è il riferimento all'id dell'articolo associato al video contenuto anche nell'altra tabella news_links 
 
- 
							
							
							
							
							
SELECT * FROM prima_tab JOIN seconda_tab ON campo=campo1 
 
- 
							
							
							
							
							@linoma said: SELECT * FROM prima_tab JOIN seconda_tab ON campo=campo1 non mi è molto chiaro: $result = mysql_query("SELECT link_content,link_id,link_title,link_urlFROMnews_linksJOINnews_videoON link_id=link_id1 ")io devo estrarre il campo code per ogni link id 
 
- 
							
							
							
							
							
Cerco di sintetizzare un po cs fa MYSQL, lega le 2 tabelle creando una corrispondenza biunivoca utilizzando cm riferimento il campo che indichi dopo ON. Il nome del campo nn il contenuto. Esempio molto comune e quello di creare una tabella prodotti e la rispettiva tabella di vendita, ecco la tabella vendita è legata alla tabella prodotto tramite id_prodotto. Quindi avrai una SELECT molto simile SELECT * FROM prodotti JOIN vendita ON vendita.id_prodotto = prodotti.id. 
 
- 
							
							
							
							
							il concetto l'ho capito, ma non riesco a metterlo in pratica: $result = mysql_query("SELECT link_content,link_id,link_title,link_urlFROMnews_linksJOINnews_videoON news_video.link_id = news_links.link_id ")e code dove lo metto? in pratica faccio la select dalla prima tabella, poi unisco la seconda e associo gli id e fin qua mi pare che ci sono.. ma come estraggo il campo code associato al link_id 
 
- 
							
							
							
							
							
La via + semplice è usare SELECT *. Altrimenti specifichi nome_tabella.campo 
 
- 
							
							
							
							
							ok penso di esserci riuscito con questa query: $result = mysql_query("SELECT * FROM news_links JOIN news_video ON news_video.link_id = news_links.link_id LIMIT 1, 100") ora però il problema è che ho come risultati soli i casi in cui i contenuti hanno un video, invece io voglio tutti i contenuti e quelli che hanno il video con il video.. leggendo la documentazione del JOIN mi pare di capire che c'entri il discorso OUTER INNER FULL E CROSS e quello che fa al caso mio è FULL solo che se scrivo nella query di sopra FULL JOIN mi dice che ho un errore in sql sintax 
 
- 
							
							
							
							
							
Magari può aiutarti: vado.li/mysql-Join 
 
- 
							
							
							
							
							Hai provato con LEFT JOIN?