- Home
- Categorie
- Coding e Sistemistica
- Coding
- select sql
- 
							
							
							
							
							
select sqlciao a tutti 
 non riesco a scrivere questa query in modo che funzioni:SELECT `products_id`,`language_id` FROM `products`,`products_description` ON `products_id`=`products_id` WHERE `products_type` = 1;naturalmente non funziona, ho provato varie modifiche con join... cioè 
 seleziona il prodotto_id e la lingua_id dalle tabelle prodotti e descrizione prodotti
 ma predi solo i prodotti_id a cui sulla tabella prodotti la casella tipo_prodotto =1
 non so se mi sono fatto capiregrazie se qualcuno ha da farmi provare qualcosa 
 
- 
							
							
							
							
							
Credo manchi solo la parola JOIN 
 
- 
							
							
							
							
							
Ciao, come sono fatte le tabelle products e products_description? 
 Che campi vuoi estrarre dall'una e dall'altra?Da quello che hai scritto non riesco a capire che relazione deve essere soddisfatta fra le due tabelle. 
 
- 
							
							
							
							
							
Si, non è chiara la realazione, Faccio un select prendendo il product_id da product se il produtc_type è 1, ma la relazione con product_description ? prendo language_id in product_description in base a quale relazione ? 
 
- 
							
							
							
							
							
é un pò un casino, è vero... le tabelle sono quelle standard di Zen cart 
 e dunque i campi che mi servono sono products_id e il language_id che sono tutti e due sulla tabella product_description.
 dunque dalla tabella product non voglio estrarre niente, mi deve fare da condizione:però io non lo voglio tutti i prodotti, ma solo i prodotti, che sulla tabella product per la relazione con il product_id, hanno il campo product_type = (nel mio caso "1") 1 o 2 o 3 ecc.. avete qualche idea 
 quello che ho postato è sbagliato, dopo innumerevoli prove, era per far capireora potrebbe essre però non capisco come mettere dove sono i puntini: SELECT `products_id` `language_id` FROM `products_description` .....................` WHERE `products_type` = 1;
 
- 
							
							
							
							
							
arrivo a qua: SELECT `products_id`,`language_id` FROM `products_description` JOIN `products` ON `products_id` = `products_id` WHERE `products_type` = 1;e mi risponde #1052 - Column 'products_id' in field list is ambiguous 
 
- 
							
							
							
							
							
Penso di aver capito che hai 2 tabelle di questo tipo: Tabella product_description con i campi products_id e language_id; 
 Tabella product con i campi products_id e product_type;Prova con SELECT products_id, language_id FROM product_description INNER JOIN product ON product_description.products_id = product.products_id WHERE product_type = 1
 
- 
							
							
							
							
							
@Cyrus said: Penso di aver capito che hai 2 tabelle di questo tipo: Tabella product_description con i campi products_id e language_id; 
 Tabella product con i campi products_id e product_type;Prova con > SELECT products_id, language_id FROM product_description INNER JOIN product ON product_description.products_id = product.products_id WHERE product_type = 1 >``` questa non funziona, mi restituisce sempre l'ambiguos e non chiedete perchè, sarei convinto che dovrebbe funzionare, ma così non è... mentre ha funzionato così:SELECT products_id,language_id
 FROMproducts_description
 LEFT JOINproduct
 USING (products_id)
 WHEREproducts_type= 1;spero sia utile anche ad altri... Grazie a tutti buone feste