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

    [sql] - inner join ... come conto ??

    Ciao a tutti, ho un problemino per fare una select con inner join


    ho due tabelle:

    galleria e immagini


    tutti e due hanno in relazione il campo IDGALLERIA (che abbina appunto le immagini alla galleria di appartenenza)

    nella tabella galleria è segnato anke il campo ANNO

    ora io dovrei contare quante immagini sono abbinate alle gallerie ke hanno un determinato anno (2005)
    come già detto le immagini si abbinano alla galleria tramite il campo IDGALLERIA.


    come cavolo faccio ??


    thx

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    select count(i.*), i.idgalleria from imamgini i, galleria g where i.idgalleria = g.idgalleria and g.anno=2005 group by i.idgalleria

    per ogni galleria ti dice quante immagini per l'anno.

    Se l'anno fa parte di una data ovviamente la condizione g.anno=2005 cambia
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it L'avatar di killer
    Registrato dal
    Jan 2002
    Messaggi
    279
    Originariamente inviato da kalosjo
    select count(i.*), i.idgalleria from imamgini i, galleria g where i.idgalleria = g.idgalleria and g.anno=2005 group by i.idgalleria

    per ogni galleria ti dice quante immagini per l'anno.

    Se l'anno fa parte di una data ovviamente la condizione g.anno=2005 cambia
    attenzione che in questo modo verranno omesse dal risultato le gallerie senza immagini.

    _| killer |_

  4. #4
    mmmm sarà ke è mattina ... ke è venerdi mattina ...
    ma non sto capendo nulla ...

    in teoria se non ho capito male, dovrebbe essere una cosa simile la query fatta e finita.

    codice:
     sqlc = "select count(i.*), i.idgalleria from immagini i, galleria g where i.idgalleria = g.idgalleria and g.dataAAAA='2005' group by i.idgalleria"
    però non sapendo bene, ho provato anke a scrivere per intero "immagini" e "galleria" ...
    insomma ho provato di tutto


    attualmente con quella query mi riporta questo errore:

    codice:
    [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression 'count(i.*)'.

    però rileggendo bene il post di kalosjo, dice "per ogni galleria ti dice quante immagini per l'anno."

    mmm cioè per ogni galleria mi dice quante immagini ci sono per quell'anno ... se non ho sbagliato a capire

    però la data è nella galleria, quindi mi interessa sapere quante immagini sono associate alla galleria di quell'anno.

    ad esempio
    la galleria PIPPO è del 2005 e ha 50 foto
    PLUTO è del 2004 e ha 80 foto
    TOPOLINO è del 2005 e ha 20 foto

    quindi in teoria mi dovrebbe restituire come numero: 70

    ora sbatto davvero la testa sul muro

  5. #5
    Utente di HTML.it L'avatar di killer
    Registrato dal
    Jan 2002
    Messaggi
    279
    codice:
    Select	i.idgalleria,
    	Count(*)
    From	galleria g,
    	    Left Outer Join immagini i
    		On  g.idgalleria = i.idgalleria
    where	g.dataAAAA='2005'
    Group
    By	i.idgalleria
    Order
    By      2 Desc

    _| killer |_

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.