- Home
- Categorie
- Coding e Sistemistica
- PHP
- select sql
-
select sql
ciao 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