Home > Blockchain >  How do i select the highest number in one column and then search the the id in other table
How do i select the highest number in one column and then search the the id in other table

Time:12-02

How do I select the highest number in one column and then search the the ID in other table?

I have these two tables:

create table armazens_has_artigos
(
    stockMinimo int not null,
    stockQuantidade int not null,
    idArtigos int not null,
    idArmazens int not null,
    idZonasFisicas int not null

    constraint fk_armazens_has_artigos_idArtigos
        foreign key (idArtigos)
            references artigos (idArtigos) on delete cascade,
    constraint fk_armazens_has_artigos_idArmazens
        foreign key (idArmazens)
            references armazens (idArmazens) on delete cascade,
    constraint fk_armazens_has_artigos_zonasFisicas_idZonasFisicas
        foreign key (idZonasFisicas)
            references zonasFisicas (idZonasFisicas) on delete cascade
);

In this one I need to select the highest StockQuantidade and then with the same id select in this table the nome

create table artigos 
(
    idArtigos int primary key,
    nome varchar (45) not null,
    descr varchar (45) not null,
    precoCompra float not null,
    precoVenda float not null,
    unidadeRepresentacao varchar (45) not null
);

CodePudding user response:

SELECT nome FROM artigos JOIN armazens_has_artigos ON armazens_has_artigos.idArtigos = artigos.idArtigos WHERE armazens_has_artigos.stockQuantidade = (SELECT MAX(stockQuantidade) FROM armazens_has_artigos)

CodePudding user response:

There might be more then one Artigos matching the criteria:

SELECT *
FROM artigos
WHERE idArtigos IN
      (
          SELECT idArtigos
          FROM dbo.armazens_has_artigos
          WHERE stockQuantidade =
          (
              SELECT MAX(stockQuantidade)FROM armazens_has_artigos
          )
      );
  • Related