How to validate some fields in SQL [duplicate]

-2

I have the following SQL

$contarperfilclienteinsuficiente = "0";
$sqlxmlperfilclienteinsuficiente = "select 
  COUNT(CASE WHEN tipo = 0 THEN 1 ELSE NULL END),
  COUNT(CASE WHEN tipo <> 0 THEN 1 ELSE NULL END)
from 
  clientes 
where 
  cliente = '$cliente' 
  AND status = '2' 
  AND (disponibilidade <> '0'  OR vanual <> '0' OR vtemporada <> '0')";
$rsqlxmlperfilclienteinsuficiente = mysql_query($sqlxmlperfilclienteinsuficiente)
or die ("Banco XML não abre!");
while($rowxmlperfilclienteinsuficiente = mysql_fetch_array($rsqlxmlperfilclienteinsuficiente))
   {
   $contarperfilclienteinsuficiente = $contarperfilclienteinsuficiente + 1;
   }  

I need to tell you how many customers have TYPE = 0 and also have availability and vanual and / strong> also zero

Important! The TYPE field is always ZERO to display a record, but if the TYPE field is ZERO DIFFERENT < strong E at least one of availability or vanual or timesheet fields are different from ZERO A record may not be displayed as a result.

I have this other SQL that also does not work:

    "select
id,disponibilidade,tipo 
from clientes 
where cliente = '$cliente' AND status = '2' AND tipo = '0' AND (disponibilidade <> '0'  OR vanual <> '0' OR vtemporada <> '0')"

Please help me!

See the implemented model!

$sqlxmlperfilclienteinsuficiente = "SELECT
    COUNT(1) as TOTAL_CLIENTES 
FROM 
    CLIENTES 
WHERE 
    status = 2 
    AND 
    ( 
      ( tipo = 0     
        AND disponibilidade = 0 
        AND vanual = 0 
        AND vtemporada = 0 
      )
      OR
      ( tipo <> 0
        AND (disponibilidade <> 0 OR vanual <> 0 OR vtemporada <> 0)
      )
    )";
$rsqlxmlperfilclienteinsuficiente = mysql_query($sqlxmlperfilclienteinsuficiente)
or die ("Banco XML não abre!");
$num_rowsclienteinsuficiente = mysql_num_rows($rsqlxmlperfilclienteinsuficiente);
    
asked by anonymous 15.03.2016 / 15:04

1 answer

-2

After chatting, I saw that what you really want is: If tipo is zero, it counts. If tipo is non-zero, check that the other information is zero, and it counts.

This is what you need, I think the following query returns as expected:

SELECT 
    COUNT(1) as TOTAL_CLIENTES /*Conte 1 exibindo coluna como TOTAL_CLIENTES*/ 
    FROM 
    clientes /*Da tabela de clientes*/ 
    WHERE 
    (tipo = 0 ) /* Se o tipo for zero (só ai o cadastro já está incompleto)*/
    OR (/*OU*/
        tipo <> 0 /*Existe um tipo informado*/
        AND disponibilidade = 0 /*E a disponibilidade é zero*/
        AND vvenda = 0 /* E o vvenda é zero também*/
        AND vtemporada = 0 /* E o vtemporada também é zero, caracterizando um cliente que tem um tipo mas não tem nenhuma informação de valores*/
    )

I changed the post based on what we discussed in the chat.

    
15.03.2016 / 16:08