Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Possuo uma tabela WISHLIST que armazena apenas os campos NOME da lista de desejos e COMENTÁRIO.
Possuo uma tabela de lista de desejos (WISHLIST_ITEMS), que armazena apenas os códigos dos produtos (PRODUTO_ID), e os campos DATA_INSERT, DATA_MODF.
Bom, então tenho que pegar o "nome do produto" na tabela PRODUTO, o "nome da categoria" do produto em CATEGORIA, e o "valor do produto" em VALOR_PRODUTO, ou seja, em 3 tabelas diferentes ligadas apenas pelo campo PRODUTO_ID, para exibir a descrição completa para o cliente. Devo pegar também todos os dados da tabela WHISHLIST (NOME E COMENTÁRIO), mas sempre consigo todos os valores, tanto com o INNER quanto com o LEFT.
PROBLEMAS: Vamos lá intonci...
Com o INNER JOIN, de três registros consegui apenas dois. Reparei que peguei apenas os dois registros que estão em seqüência (WISHLIST_ITEM_ID 2 E WISHLIST_ITEM_ID 3), o outro registro, que foi cadastrado muito posteriormente, ficando com uma ID alta (WISHLIST_ITEM_ID 20), não apareceu por nada.
Com o INNER JOIN, de três registros consegui apenas dois. Reparei que peguei apenas os dois registros que estão em seqüência, o outro registro, que foi cadastrado muito posteriormente, ficando com uma ID alta, não apareceu por nada
Achei que se a tabela WISHLIST_ITEMS se organizase pelo WHISHLIST_ID - o normal é pelo WISHLIST_ITEM_ID - organizando todos os produtos pelo ID da lista, o problema seria solucionado, mas não foi o que aconteceu.
Com o LEFT JOIN consegui pegar todos os três registros (apareceram 3 linhas). Porém, no último produto, os campos que eu tanto precisava (nome da categoria, valor do produto, nome do produto) apareceram nulo...
Esse foi meu comando SQL, apenas troquei o LEFT pelo INNER
SELECT wi. , w. , pp.product_price, pc.category_id, cc.category_name, cc.category_publish
FROM jos_vm_wishlist_items AS wi
LEFT JOIN jos_vm_wishlist AS w ON w.wishlist_id = wi.wishlist_id
LEFT JOIN jos_vm_product_price AS pp ON pp.product_id = wi.product_id
LEFT JOIN jos_vm_product_category_xref AS pc ON pc.product_id = wi.product_id
LEFT JOIN jos_vm_category AS cc ON cc.category_id = pc.category_id
AND cc.category_publish = 'Y'
WHERE w.wishlist_id = Nº DO CÓDIGO DA LISTA QUE ESTOU BUSCANDO EX.: 3
Me desculpem pelo tópico. Já até li algumas coisas sobre INNER E LEFT aqui no fórum, mas não consegui solucionar meu problema sozinho.
Agradeço desde já, obrigado.
Carregando comentários...