Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problemi con una query

  1. #1
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345

    Problemi con una query

    Ciao a tutti. Sto utilizzando il sistema JRS sviluppato dall'Università di Pisa per un progetto universitario e mi trovo di fronte ad un bizzarro problema.
    Ho infatti realizzato due viste, così definite:
    SquadreVittorie (Nome, NumVittorie)
    SquadrePareggi (Nome, NumPareggi)

    Entrambe le viste, controllate con una SELECT *, si rivelano corrette. Il problema viene quando voglio sfruttarle per calcolare la classifica generale.

    SELECT sv.Nome AS Nome, 3*sv.NumVittorie + sp.NumPareggi AS Punti
    FROM SquadreVittorie sv, SquadrePareggi sp
    WHERE sv.Nome = sp.Nome

    La seguente query non restituisce nulla nella finestra di output! Ho notato che sembra che questo problema si presenta ogni volta che tento di effettuare una giunzione fra due view o fra una view ed una tabella. Qualcuno ha idee su come risolvere? A cosa può essere dovuto il problema?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Che significa 'nella finestra di output'?
    Una query o dà un risultato o dà un errore

  3. #3
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da luca200
    Che significa 'nella finestra di output'?
    Una query o dà un risultato o dà un errore
    Eh, è quello che pensavo pure io prima di scontrarmi con questo affare

    JRS ha una finestra di output in cui inserisce i risultati delle queries ed in questo caso si limita ad aggiungere una riga vuota all'output precedente. Nessun errore viene segnalato, ma nessun risultato viene prodotto. Se può essere utile, aggiungo anche i comandi di creazione della VIEW.

    CREATE VIEW SquadreVittorieTemp (Nome, NumVittorie) AS
    SELECT sq.NomeSquadra, count (*)
    FROM Partita p, Sfida s, Squadra sq
    WHERE p.IDPartita = s.IDPartita AND sq.Campionato = 1 AND ((p.GolPrima > p.GolSeconda AND sq.NomeSquadra = s.PrimaSquadra) OR (p.GolSeconda > p.GolPrima AND sq.NomeSquadra = s.SecondaSquadra))
    GROUP BY sq.NomeSquadra;

    CREATE VIEW SquadreVittorie (Nome, NumVittorie) AS
    SELECT *
    FROM SquadreVittorieTemp
    UNION
    SELECT s.NomeSquadra AS Nome, 0 AS NumVittorie
    FROM Squadra s
    WHERE s.Campionato = 1 AND NOT EXISTS (SELECT sv.Nome FROM SquadreVittorieTemp sv WHERE sv.Nome = s.NomeSquadra);

    CREATE VIEW SquadrePareggiTemp (Nome, NumPareggi) AS
    SELECT sq.NomeSquadra, count (*)
    FROM Partita p, Sfida s, Squadra sq
    WHERE p.IDPartita = s.IDPartita AND sq.Campionato = 1 AND p.GolPrima = p.GolSeconda AND (sq.NomeSquadra = s.PrimaSquadra OR sq.NomeSquadra = s.SecondaSquadra)
    GROUP BY sq.NomeSquadra;

    CREATE VIEW SquadrePareggi (Nome, NumPareggi) AS
    SELECT *
    FROM SquadrePareggiTemp
    UNION
    SELECT s.NomeSquadra AS Nome, 0 AS NumPareggi
    FROM Squadra s
    WHERE s.Campionato = 1 AND NOT EXISTS (SELECT sv.Nome FROM SquadrePareggiTemp sv WHERE sv.Nome = s.NomeSquadra);

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Io JRS non so che roba sia.
    Collegati al db in un altro modo, esegui la query e vedi che succede

  5. #5
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da luca200
    Io JRS non so che roba sia.
    Collegati al db in un altro modo, esegui la query e vedi che succede
    JRS è un software che permette di utilizzare SQL con meno sbattimenti del mySQL normale ed è quello che ci tocca utilizzare per il progetto dell'università. Sinceramente ormai ho iniziato a pensare ad un bug di questo programma, ma se qualcuno ha altre idee proverò molto volentieri...

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da luca200
    Collegati al db in un altro modo, esegui la query e vedi che succede
    E' troppo in piccolo?

  7. #7
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da luca200
    E' troppo in piccolo?
    Non ho altri modi per collegarmi al database purtroppo, salvo installare mySQL sulla mia macchina, cosa che farò non appena avrò un po' di tempo...

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.