INNER JOIN SQL CONSULTA
13/03/2019
0
SELECT
CODVENDA AS CÓDIGO,
NOMEPRODUTO AS PRODUTO,
NOMEPRODUTO AS PRODUTO1,
NOMEPRODUTO AS PRODUTO2,
NOMEPRODUTO AS PRODUTO3,
NOME AS CLIENTE,
DATAVENDA AS DATAVENDA,
'R$' + cast(VALORVENDA as VARCHAR(50)) AS VALORVENDA,
VENDIDOPOR as POR,
QTD AS QUANTIDADE
FROM VENDA JOIN PRODUTO
ON VENDA.CODPRODUTO = PRODUTO.CODPRODUTO
JOIN CLIENTE
ON VENDA.CODCLI = CLIENTE.CODCLI
Samuel
Post mais votado
14/03/2019
SELECT C.CODVENDA AS CÓDIGO, PR0.NOMEPRODUTO AS PRODUTO, PR1.NOMEPRODUTO AS PRODUTO1, PR2.NOMEPRODUTO AS PRODUTO2, PR3.NOMEPRODUTO AS PRODUTO3, C.NOME AS CLIENTE, V.DATAVENDA AS DATAVENDA, 'R$' + cast(V.VALORVENDA as VARCHAR(50)) AS VALORVENDA, V.VENDIDOPOR as POR, V.QTD AS QUANTIDADE FROM VENDA V LEFT JOIN PRODUTO PR0 ON PR0.CODPRODUTO = V.CODPRODUTO LEFT JOIN PRODUTO PR1 ON PR1.CODPRODUTO = V.CODPRODUTO1 LEFT JOIN PRODUTO PR2 ON PR2.CODPRODUTO = V.CODPRODUTO2 LEFT JOIN PRODUTO PR3 ON PR3.CODPRODUTO = V.CODPRODUTO3 JOIN CLIENTE C ON C.CODCLI = V.CODCLI
Emerson Nascimento
Mais Posts
13/03/2019
Alex Lekao
Sem mais dados da tabela e tal, fica um pouco mais difícil de ajudar, mas aparentemente(do jeito que esta descrito.) vc esta usando sempre o mesmo nome.
Você precisa usar o INNER JOIN mesmo? ele só vai apresentar itens que constem nas duas tabelas, se por acaso algum item da tabela "principal" não estiver na tabela secundaria, ele tbm será ignorado na relação.
Talvez seja interessante usar o LEFT JOIN para se certificar, ou dar mais detalhes da tabela, como sua estrutura "real" para tentarmos te ajudar melhor.
Atenciosamente,
13/03/2019
Samuel
Sem mais dados da tabela e tal, fica um pouco mais difícil de ajudar, mas aparentemente(do jeito que esta descrito.) vc esta usando sempre o mesmo nome.
Você precisa usar o INNER JOIN mesmo? ele só vai apresentar itens que constem nas duas tabelas, se por acaso algum item da tabela "principal" não estiver na tabela secundaria, ele tbm será ignorado na relação.
Talvez seja interessante usar o LEFT JOIN para se certificar, ou dar mais detalhes da tabela, como sua estrutura "real" para tentarmos te ajudar melhor.
Atenciosamente,
aqui esta meu banco de dados
TABLE CLIENTE
(
CODCLI INT IDENTITY NOT NULL PRIMARY KEY,
NOME VARCHAR(50),
CNPJ CHAR(18) ,
EMAIL VARCHAR(50),
TEL CHAR (13),
ENDERECO TEXT
)
TABLE PRODUTO (
CODPRODUTO INT NOT NULL PRIMARY KEY IDENTITY,
NOMEPRODUTO VARCHAR(50),
QUANTIDADE CHAR(10),
VALORPRODUTO MONEY
)
TABLE VENDA (
CODVENDA INT NOT NULL PRIMARY KEY IDENTITY,
CODPRODUTO INT FOREIGN KEY REFERENCES PRODUTO (CODPRODUTO),
CODPRODUTO1 INT,
CODPRODUTO2 INT,
CODPRODUTO3 INT,
CODCLI INT FOREIGN KEY REFERENCES CLIENTE (CODCLI),
QTD CHAR(10),
DATAVENDA DATE,
VALORVENDA MONEY,
VENDIDOPOR VARCHAR(MAX)
)
eu preciso mostrar o nome do produto com o codigo armazenado nos campos codProduto1, codProduto2,codProduto3, pegando o nome da tabela produto, pode me ajudar?
14/03/2019
Alex Lekao
Sem mais dados da tabela e tal, fica um pouco mais difícil de ajudar, mas aparentemente(do jeito que esta descrito.) vc esta usando sempre o mesmo nome.
Você precisa usar o INNER JOIN mesmo? ele só vai apresentar itens que constem nas duas tabelas, se por acaso algum item da tabela "principal" não estiver na tabela secundaria, ele tbm será ignorado na relação.
Talvez seja interessante usar o LEFT JOIN para se certificar, ou dar mais detalhes da tabela, como sua estrutura "real" para tentarmos te ajudar melhor.
Atenciosamente,
aqui esta meu banco de dados
TABLE CLIENTE
(
CODCLI INT IDENTITY NOT NULL PRIMARY KEY,
NOME VARCHAR(50),
CNPJ CHAR(18) ,
EMAIL VARCHAR(50),
TEL CHAR (13),
ENDERECO TEXT
)
TABLE PRODUTO (
CODPRODUTO INT NOT NULL PRIMARY KEY IDENTITY,
NOMEPRODUTO VARCHAR(50),
QUANTIDADE CHAR(10),
VALORPRODUTO MONEY
)
TABLE VENDA (
CODVENDA INT NOT NULL PRIMARY KEY IDENTITY,
CODPRODUTO INT FOREIGN KEY REFERENCES PRODUTO (CODPRODUTO),
CODPRODUTO1 INT,
CODPRODUTO2 INT,
CODPRODUTO3 INT,
CODCLI INT FOREIGN KEY REFERENCES CLIENTE (CODCLI),
QTD CHAR(10),
DATAVENDA DATE,
VALORVENDA MONEY,
VENDIDOPOR VARCHAR(MAX)
)
eu preciso mostrar o nome do produto com o codigo armazenado nos campos codProduto1, codProduto2,codProduto3, pegando o nome da tabela produto, pode me ajudar?
Então, ainda não consegui entender muito bem sua necessidade.
Voce esta fazendo testes, eh isso?
Não sei se entendi bem, mas segue um modelo baseado no seu modelo.
SELECT CODVENDA AS CÓDIGO, VENDA.NOMEPRODUTO AS PRODUTO, VENDA.NOMEPRODUTO1 AS PRODUTO1, VENDA.NOMEPRODUTO2 AS PRODUTO2, VENDA.NOMEPRODUTO3 AS PRODUTO3, NOME AS CLIENTE, DATAVENDA AS DATAVENDA, 'R$' + cast(VALORVENDA as VARCHAR(50)) AS VALORVENDA, VENDIDOPOR as POR, QTD AS QUANTIDADE FROM VENDA JOIN PRODUTO ON VENDA.CODPRODUTO = PRODUTO.CODPRODUTO JOIN CLIENTE ON VENDA.CODCLI = CLIENTE.CODCLI
14/03/2019
Fernando C
sua consulta então ficaria assim:
SELECT vendas.id, clientes.nome, produtos.nome
FROM (clientes INNER JOIN vendas ON clientes.Código = vendas.cliente) INNER JOIN (produtos INNER JOIN vendas_produtos ON produtos.Código = vendas_produtos.id_produto) ON vendas.id = vendas_produtos.id_venda;
Clique aqui para fazer login e interagir na Comunidade :)