MySQL ,3 простеньких зароса . :)

Discussion in 'PHP' started by Buffalon, 28 Nov 2008.

  1. Buffalon

    Buffalon Elder - Старейшина

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Нужно составить типа

    1) жокеев-победителей всех соревнований во всех видах состязаний;
    SELECT owner_horse.Jockey FROM tourney Where tourney.Place = '1';
    2) жокея, имеющего наименьшую сумму мест по всем соревнованиям;
    SELECT Jockey.FIO_jockey FROM Jockey ORDER BY `Rating_jockey` DESC LIMIT 1;
    3) жокеев, имеющего наименьшую сумму мест по каждому месту проведения
    соревнований;
    (Как прибавить сумму я знаю , а вот сразу прибавить и сравнить все суммы????)
    4) самую быструю лошадь – ту, которая имеет наименьшую удельную сумму мест
    (сумму мест, отнесенную к количеству соревнований);
    (ДОпустим place это место а owner лошадь ,допустим кол-во я узнал а вот как всех их сравнивать (допустим у меня 7 лошадей))
    5) жокея, который сменил наибольшее количество лошадей в соревнованиях.
    таблицы

    PHP:
    drop table if exists owner_horse;
    create table if not exists owner_horse (
                     
    Horse char(32not null,
                     
    Owners char(32not null,
                     
    Jockey char(32not null,
                     
    Ippodrimy char(32not null,
                     
    Competitions int(16not null
                     
    )ENGINE=INNODB;
    create table if not exists horse (
                     
    id_horse int(3not null,
                     
    Moniker char(20not null,
                     
    FIO_owner char(20not null,
                     
    Ippodrimy char(32not null,
                     
    Sex ENUM("жеребец""кобыла"not null,
                     
    primary key(id_horse),
                     
    FOREIGN KEY (FIO_ownerREFERENCES owner_horse(ownerON UPDATE CASCADE
                     
    )ENGINE=INNODB;
    create table if not exists owner (
                     
    Id_owner int(3not null,
                     
    FIO_owner char(20not null,
                     
    Address_owner char(20not null,
                     
    Phone_owner char(32not null,                
                     
    primary key(Id_owner)
                     )
    ENGINE=INNODB;
    create table if not exists jockey (
                     
    Id_jockey int(3not null,
                     
    FIO_jockey char(20not null,
                     
    Address_jokey char(20not null,
                     
    Date_jockey date not null,                
                     
    Rating_jockey int(4not null,                
                     
    primary key(Id_jockey)
                     )
    ENGINE=INNODB;
    create table if not exists ippodromy (
                     
    Id_ippodromy int(3not null,
                     
    Name_ippodromy char(20not null,
                     
    Address_ippodromy char(20not null,
                     
    Lenght_ippodromy int(16not null,                
                     
    primary key(Id_ippodromy)
                     )
    ENGINE=INNODB;
    create table if not exists tourney (
                     
    Id_horse int(3not null,
                     
    Id_jockey int(20not null,
                     
    Id_ippodromy int(20not null,
                     
    Date date not null,
                     
    N_drive int(3not null,
                     
    Result float(3not null,
                     
    Place int(3not null,
                     
    primary key(N_drive),
                     
    FOREIGN KEY (Id_horseREFERENCES owner_horse(HorseON UPDATE CASCADE,    
                     
    FOREIGN KEY (Id_jockeyREFERENCES jockey(Id_jockeyON UPDATE CASCADE,
                     
    FOREIGN KEY (Id_ippodromyREFERENCES ippodromy(Id_ippodromyON UPDATE CASCADE
                     
    )ENGINE=INNODB;
     
    #1 Buffalon, 28 Nov 2008
    Last edited: 28 Nov 2008