Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    come scrivere una query su una tbl una a molti

    ho un db dove ad un articolo corrispondono 3 tag differenti, ad esempio

    all'articolo calzini corrispondono queste 3 tags
    cotone
    bianchi
    lunghi

    quindi ho 2 tabelle, una tabella articoli ed una tabella tags con una relazione 1 a molti
    ogni articolo può avere da 1 a 3 tag

    che query devo fare per avere tutti gli articoli che abbiamo le tags
    cotone
    bianchi
    lunghi
    ?

    ho provato con
    select * from articoli, tags where articoli.id = tags.articoli_id AND tags in ("cotone","bianchi","lunghi") group by articoli.id

    ma non va bene perchè questa query mi ritorna gli articoli anche del tipo
    cotone
    neri <----
    lunghi

    io invece voglio solo gli articoli che abbiano come tags proprio i valori
    cotone
    bianchi
    lunghi
    Ultima modifica di abcd1000; 25-04-2019 a 11:21

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Quote Originariamente inviata da optime Visualizza il messaggio
    USA una JOIN esplicita

    e come si fa?

  4. #4
    per chi vuole lavorare con i db è basilare conoscere le JOIN, quindi ti consiglio di studiare https://www.google.com/search?q=sql+join

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Quote Originariamente inviata da optime Visualizza il messaggio
    per chi vuole lavorare con i db è basilare conoscere le JOIN, quindi ti consiglio di studiare https://www.google.com/search?q=sql+join
    le join le conosco ma non riesco a capire come scriverla nel mio caso
    potresti darmi un suggerimento?

  6. #6
    prova tu, poi casomai la si corregge

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Quote Originariamente inviata da optime Visualizza il messaggio
    prova tu, poi casomai la si corregge
    select articoli.id from articoli, tags where tags.aritcoli_id = articoli.id and tags.name in ('cotone','bianchi','lunghi')

  8. #8
    scusa, ma dov'è la JOIN?

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Quote Originariamente inviata da optime Visualizza il messaggio
    scusa, ma dov'è la JOIN?
    ci riprovo:
    SELECT articoli.id
    FROM articoli
    INNER JOIN tags
    ON tags.articoli_id= articoli.id
    WHERE
    tags.name in ('cotone','bianchi','lunghi')

  10. #10
    ok, questa funziona? se non funziona, qual è il problema?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.