Jump to content

outra duvida...Query SQL Server


maomelov
 Share

Recommended Posts

tenho outro dúvida...

Tenho as seguintes tabelas:

create table tb_livros

(

  id_livro      int primary key identity (1,1),

  id_edicao      int not null,

  data_aquisicao  smalldatetime not null default(getdate()),

  custo        money not null default(0) check(custo>0),

  constraint chave_externa_edicao

      foreign key(id_edicao)

      references tb_edicoes(id_edicao)

)

go

create table tb_requisicoes

(

  id_requisicao  int primary key identity (1,1),

  data_req      smalldatetime not null check(data_req<=getdate()),

  data_entrega  smalldatetime not null default(dateadd(day,4,getdate())),

  id_utilizador  int not null,

  constraint validar_data_entrega

      check (data_entrega>data_req),

  constraint chave_externa_utilizador

      foreign key(id_utilizador)

      references tb_utilizador(id_utilizador)

)

go

create table tb_livros_requisitados

(

  id_livro      int not null,

  id_requisicao  int not null,

  constraint pk_livros_requisitados

      primary key(id_livro,id_requisicao),

  constraint chave_externa_livros

      foreign key(id_livro)

      references tb_livros(id_livro),

  constraint chave_externa_requisicao

      foreign key(id_requisicao)

      references tb_requisicoes(id_requisicao)

)

go

e os dados da tabela livros_requisitados:

id_livro    id_requisicao

1            1

2            1

6            1

2            2

3            2

4            2

7            3

8            3

12            3

23            4

27            4

31            4

32            5

42            5

5            5

2            5

54            6

55            6

53            7

5            7

9            7

24            7

23            8

33            8

13            8

12            9

36            9

20            9

26          10

36          10

47          10

16          10

11          11

5          11

46          11

50          12

17          12

4          13

28          14

30          14

25          14

precisava de saber o número máximo, mínimo e a média de livros por requisição;

tenho a seguinte query:

select  id_requisicao,

      count(id_livro)

from  tb_livros_requisitados

group by id_requisicao

having  count(id_livro)>1

que me devolve o numero maximo de livros por requisicao....nao sei como chegar ao minimo e media por requisicao

podem ajudar pf?

obrigado

Link to comment
Share on other sites

esse raciocínio não está muito claro...

mas presumo é que tu queiras saber qual a requisção com mais livros, com menos livros e a média de livros..

Assim sendo

será qq coisa do género:

Contar:

select  id_requisicao,

      count(id_livro)

from  tb_livros_requisitados

group by  id_requisicao;

Máximo

select  id_requisicao,

    max( count(id_livro))

from  tb_livros_requisitados

group by  id_requisicao;

Para o minimo...min

e para a média.. avg...

não teste mas tem que ser alguma coisa deste género.

Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.