Fórum Insert com Select e valor fixo. #592461

13/04/2018

0

Olá, estou começando na programação e necessito fazer um insert em uma tabela.

Necessito incluir produtos na lista de preço na nova lista. Onde o valor 2 é fixo e os demais são select para informar na tabela.
Esse é o meu código.
 

INSERT INTO lista_precos_itens
    (id_lista, id_itens, id_produto)
VALUES (2,
        ('SELECT COALESCE(MAX(lista_precos_itens.id_itens), 0) + 1
            FROM lista_precos_itens'),
        ('SELECT lista_precos_itens.ID_PRODUTO FROM lista_precos_itens WHERE ID_LISTA=200'));


Obrigado
Paulo Wagner

Paulo Wagner

Responder

Posts

13/04/2018

Willian Silva

Bom dia Paulo Wagner, queria te pergunta o que você deseja fazer com esse insert, para que seria esse sql ?
Responder

Gostei + 0

13/04/2018

Paulo Wagner

Bom dia.

Esse insert tem a finalidade de colocar o produto lincado a uma lista de preços. Nessa opção os preços vão ser zeros somente. Ou seja todos os produtos que estão lincados na lista 200 devem ser inseridos na lista de id 2 que vai ser o valor fixo para todos.

ou seja, preciso pegar todos os produtos que estão na lista de id 200 e inserir tbm na de lista 2;

 
SELECT lista_precos_itens.ID_PRODUTO FROM lista_precos_itens WHERE ID_LISTA=200


Esta tabela não tem auto incremento por isso do sql [code=sql SELECT COALESCE(MAX(lista_precos_itens.id_itens), 0) + 1
FROM lista_precos_itens ][/code] para gerar o id.

Não sei se fui claro.
Responder

Gostei + 0

13/04/2018

Willian Silva

Boa Tarde, Paulo Wagner poderia me informar se esse id já não existe? se existe não seria melhor um update com os select para os outros campos

UPDATE lista_precos_itens
    id_itens = 'SELECT COALESCE(MAX(lista_precos_itens.id_itens), 0) + 1
            FROM lista_precos_itens', 
    id_produto = ('SELECT lista_precos_itens.ID_PRODUTO FROM lista_precos_itens WHERE ID_LISTA=200')  Cuidar se esse aqui não vai da problema caso seja um produto so coloca um limit no final do sql.
WHERE id_lista = 2;
Responder

Gostei + 0

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

Aceitar