Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySQL] selezionare solo un record

    Di sicuro quello che voglio fare è una cavolata, ma ora come ora non rieco a trovare la soluzione.
    Ho tre tabelle:
    - articoli
    - categorie
    - art2cat
    Essendo il rapporto articoli-categorie un molti a molti, ho dovuto creare una tabella intermedia.
    Lo schema delle tabelle è:
    - articoli: id, nome, data, promo
    - categorie: id, nomecat
    - art2cat: aid(id_articolo),cid(id_categoria)

    Il mio problema è che un articolo può essere in più categorie,e quando faccio una select per recuperare gli articoli in promozione, mi si presenta lo stesso articolo con tutte le categorie a cui appartiene (questo perchè la query fa dei join tra tutte e tre le tabelle per recuperare la categoria).
    A me basta un articolo, la categoria è indifferente. Come posso fare per eliminare le righe doppie?

    Per rendere l'idea faccio un piccolo esempio:
    Tabella Articoli:
    id nome data promo
    1 - articolo1- 12/04/2007 - 1
    2 - articolo2- 13/03/2007 - 0
    Tabella Categorie
    1 - categoria1
    2 - categoria2
    Tabella art2cat
    1 - 1
    1 - 2

    eseguendo la query ottengo:
    1 - articolo1 - categoria1
    1 - articolo1 - categoria2

    ma io vorrei solo la prima...come posso fare? grazie
    «Non esiste mondo fuor dalle mura di Verona; ma solo purgatorio, tortura, inferno. Chi è bandito di qui, è bandito dal mondo e l'esilio dal mondo è morte...»
    - William Shakespeare -

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    prova con un GROUP BY sull'id degli articoli.
    Non è corretto per lo standard sql, ma mysql dovrebbe supportarlo

  3. #3
    sembra funzionare....
    lo sapevo che era una banalità...cmq domani provo con un db più popolato e vediamo cosa ne vien fuori...

    grazie mille
    «Non esiste mondo fuor dalle mura di Verona; ma solo purgatorio, tortura, inferno. Chi è bandito di qui, è bandito dal mondo e l'esilio dal mondo è morte...»
    - William Shakespeare -

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.