Trazer dados em um select de duas tabelas

29/01/2020

0

Boa tarde amigos, tenho uma dúvida aqui.

No meu sistema VB.net eu tenho a tela de inserir itens no orçamento, nessa mesma tela eu preciso que me traga o ultimo valor vendido DAQUELE ITEM para AQUELE CLIENTE, até ai tudo bem, meu problema é que os pedidos ficam salvos em 2 tabelas diferentes a primeira salva os dados do pedido e a outra os itens do pedido ( tb_pedido e tb_pedidoitens). como eu faço pra buscar o ultimo valor daquele produto comparando os dados das 2 tabelas ? segue como estão as 2 tabelas

TABELA DE PEDIDO
CREATE TABLE [dbo].[tb_pedido](
	[pedido_id] [int] IDENTITY(1,1) NOT NULL,
	[DATA_MOV] [date] NULL,
	[PRODUTO_ID] [int] NULL,
	[PESSOA_CLIENTE_ID] [int] NULL
) ON [PRIMARY]
GO



TABELA DE PEDIDO ITENS

CREATE TABLE [dbo].[tb_pedidoiten](
	[pedidoiten_id] [int] IDENTITY(1,1) NOT NULL,
	[RODUTO_ID] [int] NULL,
	[descricao] [varchar](60) NULL,
	[valor] [decimal](24, 6) NULL,
	[pedido_id] [int] NULL
) ON [PRIMARY]
GO



Oque relaciona as 2 são os campos pedido_id, se alguém puder me ajudar agradecerei bastante !
Wictor

Wictor

Responder

Post mais votado

31/01/2020

SELECT TOP 1
	COALESCE(B.[valor],0) VALOR
FROM
	[dbo].[tb_pedido] A
INNER JOIN
	[dbo].[tb_pedidoiten] B ON B.[pedido_id] = A.[pedido_id] AND B.[PRODUTO_ID] = 'PRODUTO_PRODURADO'
WHERE
	A.[PESSOA_CLIENTE_ID] = 'CLIENTE_PROCURADO'
ORDER BY
	A.[DATA_MOV] DESC

Note que, se o produto nunca foi vendido para o cliente, o valor retornado será 0 (zero)

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

03/02/2020

Anderson Gonçalves

Boa tarde amigos, tenho uma dúvida aqui.

No meu sistema VB.net eu tenho a tela de inserir itens no orçamento, nessa mesma tela eu preciso que me traga o ultimo valor vendido DAQUELE ITEM para AQUELE CLIENTE, até ai tudo bem, meu problema é que os pedidos ficam salvos em 2 tabelas diferentes a primeira salva os dados do pedido e a outra os itens do pedido ( tb_pedido e tb_pedidoitens). como eu faço pra buscar o ultimo valor daquele produto comparando os dados das 2 tabelas ? segue como estão as 2 tabelas

TABELA DE PEDIDO
CREATE TABLE [dbo].[tb_pedido](
	[pedido_id] [int] IDENTITY(1,1) NOT NULL,
	[DATA_MOV] [date] NULL,
	[PRODUTO_ID] [int] NULL,
	[PESSOA_CLIENTE_ID] [int] NULL
) ON [PRIMARY]
GO



TABELA DE PEDIDO ITENS

CREATE TABLE [dbo].[tb_pedidoiten](
	[pedidoiten_id] [int] IDENTITY(1,1) NOT NULL,
	[RODUTO_ID] [int] NULL,
	[descricao] [varchar](60) NULL,
	[valor] [decimal](24, 6) NULL,
	[pedido_id] [int] NULL
) ON [PRIMARY]
GO



Oque relaciona as 2 são os campos pedido_id, se alguém puder me ajudar agradecerei bastante !



Fala boy,

Eu trabalho com Firebird qual o teu banco de dados, porque você logo logo vai precisar de mais coisas, se quiser entre em contato isso que o rapaz respondeu não resolve, acho que ele não percebeu que você pediu o ULTIMO REGISTRO para o cliente que você determinar, você pode adicionar isso aqui

SELECT TOP 1
COALESCE(B.[valor],0) VALOR,
Max(CAMPOCHAVEPRIMÁRIA)AS MAXIMO
FROM
[dbo].[tb_pedido] A
INNER JOIN
[dbo].[tb_pedidoiten] B ON B.[pedido_id] = A.[pedido_id] AND B.[PRODUTO_ID] = 'PRODUTO_PRODURADO'
WHERE
A.[PESSOA_CLIENTE_ID] = 'CLIENTE_PROCURADO
ORDER BY
A.[DATA_MOV] DESC


Assim você pega o maior registro para esse cliente.

Se precisar de mais ajuda, me procure.

Skype: anderson@case13.com.br
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar