• User

    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 capire

    grazie se qualcuno ha da farmi provare qualcosa


  • User Attivo

    Credo manchi solo la parola JOIN


  • User

    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.


  • User Attivo

    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 ?


  • User

    é 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 capire

    ora potrebbe essre però non capisco come mettere dove sono i puntini:

    
    SELECT `products_id` `language_id` FROM `products_description` .....................` WHERE `products_type` = 1;
    
    

  • User

    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


  • User

    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
     
    

  • User

    @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
    FROM products_description
    LEFT JOIN product
    USING (products_id)
    WHERE products_type = 1;

     
    spero sia utile anche ad altri...
     
    Grazie a tutti buone feste