Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    [MySql] Urgentissimo aiuto con qualche query

    Ragazzi ci siamo...domani mattina non sò come dovrò consegnare sto benedetto progetto di base di dati...ho quasi finito...mi manca solo fare qualche query (parecchie a dir la verità ma qualcuna già l'ho fatta per conto mio)

    Ce n'è una che non mi riesce (in realtà è solo un pezzo di una query più grande).

    Se io ho una tabella così fatta:

    codice:
    create table OFFERTA
    (
    Id_Offerta int not null auto_increment primary key,
    Partecipante varchar(20) not null,
    Id_Oggetto int not null,
    Valore_Offerta decimal(6,2) not null,
    Data datetime not null,
    foreign key (Partecipante) references UTENTE(User_Id),
    foreign key (Id_Oggetto) references INSERZIONE(Id_Oggetto)
    ) type=InnoDB;
    che contiene dati relativi alle offerte che gli utenti fanno su certi oggetti (sistema di aste online) del tipo:

    (NULL, 'Salvo', 4, 5.50, '2008-02-20 14:09:06'),
    (NULL, 'Marilu', 4, 7.50, '2008-02-27 18:12:06'),
    (NULL, 'Salvo', 4, 10.25, '2008-03-04 23:55:06'),
    (NULL, 'Plutone', 15, 3.75, '2008-02-28 22:15:07'),
    (NULL, 'Devilboy', 15, 6.25, '2008-03-05 17:15:23'),
    (NULL, 'Plutone', 15, 8.00, '2008-03-13 22:13:07'),
    (NULL, 'FreeMan', 15, 8.37, '2008-03-14 23:32:55');

    vabbè i NULL iniziali ci stanno solo perchè è preso dalle mie insert. Il terzo numero corrisponde al campo Id_Oggetto e si riferisce ad un oggetto per cui si stà effettuando l'offerta, il campo successivo è quanto gli utenti hanno offerto nell'asta.

    Vorrei sapere come faccio a sapere in questa tabella qual'è stato il prezzo maggiore (quindi del campo Valore_Offerta) per l'oggetto con campo Id_Oggetto pari a 4?

    Vi prego è importantissimo...se non consegno entro domani devo fare l'orale a Giugno

    Grazie
    Andrea

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select max(valore_offerta) as maggiore
    from offerta
    where id_oggetto = 4

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    mmm questo l'ho capito...mi sono impallato su una cosa.

    Mettiamo che io ho 3 tabelle: UTENTE (che contiene gli utenti), INSERZIONE che contiene le inserzioni (ed ogni inserzione ha una sua data di scadenza) ed OFFERTA che contiene le offerte che ogni utente fà per un'inserzione.
    Se voglio sapere chi ha vinto un'asta devo chiedermi qual'è l'utente che ha fatto l'offerta massima precedente alla data di scadenza (senza usare query ricorsivoe possibilmente).

    quindi le mie 3 tabelle sono:

    codice:
    create table UTENTE
    (
    User_Id varchar(20) not null primary key,
    Nome varchar(20) not null,
    Cognome varchar(20) not null,
    Data_Nascita date not null,
    Indirizzo varchar(50) not null,
    Cap int not null
    ) type=InnoDB;
    
    
    
    create table INSERZIONE
    (
    Id_Oggetto int not null auto_increment primary key,
    Titolo varchar(60) not null,
    Descrizione text,
    Costo_Base decimal(6,2),
    Scadenza datetime,
    Compralo_Subito float(4,2),
    Id_Venditore varchar(20) not null references UTENTE(User_Id),
    Id_Categoria varchar(30) not null references CATEGORIA(Id_Categoria)
    ) type=InnoDB;
    
    
    
    create table OFFERTA
    (
    Id_Offerta int not null auto_increment primary key,
    Partecipante varchar(20) not null,
    Id_Oggetto int not null,
    Valore_Offerta float(4,2) not null,
    Data datetime not null,
    foreign key (Partecipante) references UTENTE(User_Id),
    foreign key (Id_Oggetto) references INSERZIONE(Id_Oggetto)
    ) type=InnoDB;
    La query vera e propria che non riesco a fare è: Per l'inserzione con Id_Oggetto pari a 4 chi è l'utente che ha fatto l'offerta più alta che però ha data precedente alla data di scadenza dell'inserzione?

    Vi pregoooo sono disperatissimo

    Grazie

  4. #4
    Il titolo non è a norma di regolamento

    http://forum.html.it/forum/showthrea...hreadid=412253

    E non è neanche la prima volta (e ti è già stato fatto notare )
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

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.