Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Willian Quideroli

Consulta em duas tabelas

Recommended Posts

Seguinte galera preciso fazer uma consulta onde liste todos os produtos que a quantidade for maior igual a 1

 

tenho 2 tabelas

 

tbl_produtos onde grava o dados do produto como preço codigo do fabricante e tals

 

depois tenho a tabela

 

tbl_ProdutosTamanho onde grava o tamanho e a quantidade dos produtos

 

o detalhe é que preciso exibir apenas os produtos que a quantidade for igual ou maior que 1, tentei fazer via sql usando o seguinte comando

 

StrSQL = "SELECT * FROM tbl_produtos where codigo_subcategoria = "&codigo_subcategoria&" and quantidade some ( SELECT * FROM tbl_ProdutosTamanho WHERE quantidade > 0 )"

 

mais não consegui ele da o seguinte erro

 

Tipo de erro:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe na expressão de consulta 'codigo_subcategoria = 63 some ( SELECT * FROM tbl_ProdutosTamanho WHERE quantidade > 0 )'.

/projetos/web/Produtos.asp, line 67

 

como resolvo esse problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM TBL_PRODUTOS P WHERE (SELECT SUM(PT.QUANTIDADE) FROM TBL_PRODUTOSTAMANHO PT WHERE PT.CODIGO_PRODUTO = P.CODIGO) > 1

acho que essa é uma logica, mas de repente dá pra fazer com a clausula HAVING

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei fazer desse modo tambem não consegui

 

to postando o codigo da página pra que vocês possam entender melhor como quero fazer

 

<!--#include file="Scripts/conexao.asp" -->
<%
page_size = 9

codigo_subcategoria = request("codigo_subcategoria")

SQL_produtos_subcategoria = "Select * from tbl_subcategorias where cod_subcategoria = "&codigo_subcategoria&""
Set RS_produtos_subcategoria = conexao.execute(SQL_produtos_subcategoria)

SQL_produtos_categoria = "Select * from tbl_categorias where cod_categoria = "&RS_produtos_subcategoria("codigo_categoria")&""
Set RS_produtos_categoria = conexao.execute(SQL_produtos_categoria)
%>
<html>
<head>
<title>MARIA FLOR BOUTIQUE</title>
<link rel="stylesheet" href="estilo.css" type="text/css">
</head>

<body background="Imagens/site/fundo_site.jpg" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="left" valign="top" background="Imagens/site/fundo_dentro_site.gif"><table width="1000" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td align="left" valign="top"><!--#include file="Topo.asp" --></td>
        </tr>
        <tr> 
          <td height="13" align="left" valign="top"><img src="Imagens/site/transp.gif" width="13" height="13"></td>
        </tr>
        <tr> 
          <td align="left" valign="top"><table width="1000" border="0" cellspacing="0" cellpadding="0">
              <tr align="left" valign="top"> 
                <td width="13"><img src="Imagens/site/transp.gif" width="13" height="13"></td>
                <td width="172"><!--#include file="menu.asp" --></td>
                <td width="13"><img src="Imagens/site/transp.gif" width="13" height="13"></td>
                <td width="643"><table width="643" border="0" cellspacing="0" cellpadding="0">
                    <tr> 
                      <td height="19" align="left" valign="top"> <table width="643" border="0" cellspacing="0" cellpadding="0">
                          <tr align="left" valign="top"> 
                            <td width="12"><img src="Imagens/site/escritas_titulo/esq.gif" width="12" height="30"></td>
                            <td width="484" valign="middle" background="Imagens/site/escritas_titulo/fundo.gif"><font color="#FFFFFF" size="2"><%=ucase(RS_produtos_categoria("categoria"))%> 
                              - <strong><%=ucase(RS_produtos_subcategoria("subcategoria"))%></strong></font> 
                            </td>
                            <td width="147" align="right"><img src="Imagens/site/escritas_titulo/dir.gif" width="147" height="30"></td>
                          </tr>
                        </table></td>
                    </tr>
                    <tr> 
                      <td align="left" valign="top"><img src="Imagens/site/transp.gif" width="20" height="10"></td>
                    </tr>
                    <tr> 
                      <td align="left" valign="top">
<%
strconn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&caminho&";"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3 ' adUseClient
Conn.Open strconn
	
set RS = Server.Createobject("AdoDB.RecordSet")

RS.PageSize = page_size ' define o tamanho da "página"
RS.CacheSize = page_size ' define o tamanho do cache com o mesmo tamanho da página

StrSQL = "Select * from tbl_produtos where codigo_subcategoria = "&codigo_subcategoria&" order by produto"
RS.Open StrSQL, Conn', 3, 3
	
'codigo = RS.recordcount
'Randomize
'RS.Move (Int(codigo * Rnd))

if RS.EOF then
%>
nenhum produto
<%else%>
					  <table width="643" border="0" cellspacing="0" cellpadding="0">
                          <tr> 
                            <td align="left" valign="top"><table width="214" border="0" cellspacing="0" cellpadding="0">
                                <tr> 
<%
total_pagina = rs.PageCount

if not RS.EOF then
If Session("PrimeiraVez") <> "Nao" then ' Se é a primeira vez que a página é carregada
	Session("PrimeiraVez") = "Nao"
	Session("Pagina") = 1
else
	if Request("pg") = "p" then
		Session("Pagina") = Session("Pagina") + 1 
		RS.AbsolutePage = Session("Pagina") 
	ElseIf Request("pg") = "a" then
		Session("Pagina") = Session("Pagina") - 1
		RS.AbsolutePage = Session("Pagina")
	elseIf (isnumeric(Request("pg"))) and (Request("pg") <> "") then
		Session("Pagina") = Request("pg")
		RS.AbsolutePage = Session("Pagina")
	end if
end if
end if

cont = 0
For contador = 1 to page_size
cont = cont + 1

'if rs("codigo_marca") <> 0 then
'	SQL_busca_marca = "Select * from tbl_marcas where cod_marca = "&rs("codigo_marca")&""
'	Set RS_busca_marca = conexao.execute(SQL_busca_marca)
'	nome_marca = RS_busca_marca("marca")
'else
'	nome_marca = ""
'end if

SQL_busca_subcategoria = "Select * from tbl_subcategorias where cod_subcategoria = "&rs("codigo_subcategoria")&""
Set RS_busca_subcategoria = conexao.execute(SQL_busca_subcategoria)

SQLetq = "Select * from tbl_etiquetas where cod_etiqueta = "&rs("codigo_etiqueta")&""
Set RSetq = conexao.execute(SQLetq)

if rs("codigo_etiqueta") <> 0 then
	fundo_etiqueta = "fundo_" & RSetq("etiqueta")
	cor_titulo = "#"&RSetq("cor_site")&""
		if RSetq("porcentagem") <> 0 then
			desconto_etiqueta = "sim"
			desconto_etiqueta_porcentagem = RSetq("porcentagem")
		end if
else
	fundo_etiqueta = "fundo"
	cor_titulo = "#880073"
end if

'verifica se a quantidade é diferente de 0 e marca como produto indisponivel
SQL_verifica = "Select * from tbl_ProdutosTamanho where id_produto = "&rs("cod_produto")&" and quantidade = 0"
Set RS_verifica = conexao.execute(SQL_verifica)

if RS_verifica.EOF then
	situacao_produto = "disponivel"
else
	situacao_produto = "indisponivel"
end if

if rs("valor") = 0 then
	situacao_produto = "indisponivel"
end if
%>
                                  <%'if not situacao_produto = "indisponivel" then%>
								  <td align="left" valign="top">
								  <table width="214" border="0" cellspacing="0" cellpadding="0">
                                      <tr> 
                                        <td height="132" align="left" valign="top" background="Imagens/fundo_produtos/<%=fundo_etiqueta%>.gif"><table width="194" border="0" cellspacing="0" cellpadding="0">
                                            <tr align="left" valign="middle"> 
                                              <td width="37" height="132"> </td>
                                              <td width="157"><a href="Detalhes.asp?codigo_produto=<%=rs("cod_produto")%>"><img src="Fotos/pq/<%=rs("foto")%>" alt="* Ver Detalhes" width="120" height="120" border="0"></a></td>
                                            </tr>
                                          </table></td>
                                      </tr>
                                      <tr> 
                                        <td align="left" valign="top"><img src="Imagens/site/transp.gif" width="20" height="10"></td>
                                      </tr>
                                      <tr> 
                                        <td align="left" valign="top"><table width="194" border="0" cellspacing="0" cellpadding="0">
                                            <tr> 
                                              <td height="18" align="center" valign="top"><a href="Detalhes.asp?codigo_produto=<%=rs("cod_produto")%>"><font color="<%=cor_titulo%>" size="2"><strong><%=rs("produto")%></strong></font></a></td>
                                            </tr>
                                            <tr> 
                                              <td height="5" align="center" valign="top"><img src="Imagens/site/transp.gif" width="50" height="5"></td>
                                            </tr>
                                            <tr> 
                                              <td height="13" align="center" valign="top"> 
                                                <%if situacao_produto = "indisponivel" then%>
                                                <font color="#666666">Produto 
                                                Indisponível</font> 
                                                <%else%>
                                                <%
									if desconto_etiqueta = "sim" then
									desconto_etiqueta_valor = (rs("valor") * desconto_etiqueta_porcentagem)/100
									novo_valor = rs("valor") - desconto_etiqueta_valor
									%>
                                                <font color="#666666">De: <%=FormatCurrency(rs("valor"))%></font><font color="#DB1946"><br>
                                                Por: <strong><%=FormatCurrency(novo_valor)%></strong></font> 
                                                <%end if%>
                                                <%if rs("valor_de") <> 0 then%>
                                                <font color="#666666">De: <%=FormatCurrency(rs("valor_de"))%></font><font color="#DB1946"><br>
                                                Por: <strong><%=FormatCurrency(rs("valor"))%></strong></font> 
                                                <%end if%>
                                                <%if desconto_etiqueta <> "sim" and rs("valor_de") = 0 then%>
                                                <font color="#DB1946">Por: <strong><%=FormatCurrency(rs("valor"))%></strong></font> 
                                                <%end if%>
                                                <%end if%>
                                              </td>
                                            </tr>
                                            <tr> 
                                              <td height="5" align="center" valign="top"><img src="Imagens/site/transp.gif" width="50" height="5"></td>
                                            </tr>
                                            <tr> 
                                              <td height="37" align="center" valign="middle"> 
                                                <%if situacao_produto = "disponivel" then%>
                                                <a href="Detalhes.asp?codigo_produto=<%=rs("cod_produto")%>"><img src="Imagens/fundo_produtos/comprar.gif" width="103" height="31" border="0"></a> 
                                                <%end if%>
                                              </td>
                                            </tr>
                                            <tr> 
                                              <td height="37" align="center" valign="top"> </td>
                                            </tr>
                                          </table></td>
                                      </tr>
                                    </table>
									<%'end if%>
									</td>
<%
'if situacao_produto = "indisponivel" then
'	cont = cont - 1
	'page_size = page_size + 1
'else
'	cont = cont
'end if
%>
                                  <%if cont = 3 then%>
                                </tr>
                                <tr> 
                                  <%
cont = 0
end if

RS.MoveNext

If RS.Eof then Exit For
Next
%>
                                </tr>
                              </table>
							  
                            </td>
                          </tr>
                          <tr> 
                            <td align="left" valign="top"> </td>
                          </tr>
                          <tr> 
                            <td align="left" valign="top">
							<%if total_pagina > 1 then%>
							<table width="643" height="30" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr> 
                                  <td align="center" valign="middle"> 
                                    <%
url = Request.ServerVariables("SCRIPT_NAME") & "?codigo_subcategoria=" & codigo_subcategoria & ""

if int(total_pagina) > 0 then 
If Session("Pagina") > 1 then
	response.Write "<a href="&url&"&pg=a><font color=""#880073"" size=""2""><b>Página Anterior</b></font></a>    <font color=""#880073"" size=""2""><b>[</b></font>"
else
	response.write "<font color=""#666666"" size=""2"">Página Anterior</font>    <font color=""#880073"" size=""2""><b>[</b></font>"
End If
					
For contador = 1 to total_pagina
if contador = int(Session("Pagina")) then
	response.write " <font color=""#A8008E"" size=""2""><b>"&contador&"</b></font> "
else
	response.write " <a href="&url&"&pg="&contador&"><font color=""#A8008E"" size=""2"">"&contador&"</font></a> "
end if
Next
					
If int(Session("Pagina")) <> total_pagina then
	response.write "<font color=""#880073"" size=""2""><b>]</b></font>    <a href="&url&"&pg=p><font color=""#880073"" size=""2""><b>Próxima Página<b></font></a>"
else
	response.write "<font color=""#880073"" size=""2""><b>]</b></font>    <font color=""#666666"" size=""2"">Próxima Página</font>"
End If
end if
%>
                                  </td>
                                </tr>
                              </table>
							  <%end if%>
							  </td>
                          </tr>
                          <tr> 
                            <td align="left" valign="top"> </td>
                          </tr>
                        </table>
						<%end if%>
						</td>
                    </tr>
                  </table>
                </td>
                <td width="13"><img src="Imagens/site/transp.gif" width="13" height="13"></td>
                <td width="133"><!--#include file="menu_dir.asp" --></td>
                <td width="13"><img src="Imagens/site/transp.gif" width="13" height="13"></td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td align="left" valign="top"><!--#include file="Rodape.asp" --></td>
        </tr>
      </table></td>
  </tr>
</table>
</body>
</html>

Desse jeito ai ele lista que o produto está indisponivel mais eu preciso que quando o valor de quantidade for igual a 0 ele não apareça na lista

 

Estrutura das tabelas

 

tbl_produtos

Cod_produto | codigo_subcategoria | codigo_marca | codigo_fabricante | produto | descricao | valor de | valor | peso | foto

 

tbl_ProdutosTamanho

id_item | id_produto | tamanho | quantidade | posicao

 

Só preciso que quando o valor de quantidade for igual a 0 ele não apareça quando exibe os produtos

Dêem uma força ai galera ja tentei tanta coisa que to ficando doidinho rsrsrs

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.