750 votes

MySQL ' IF ' dans ' choisir ' Déclaration

<pre><code></code><p><code></code><code></code><code></code><code></code><code></code>. Comment puis-je ajouter ceci à la requête ci-dessus ?</p></pre>

1107voto

Felipe Alcacibar Points 4822
<pre><code></code><p>Voir ce <a href="http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html">http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html</a></p><p>Mais en plus que vous pouvez gérer lorsque la condition a la valeur nulle. Ainsi dans le cas du montant pourrait être null.</p><pre><code></code></pre><p><code></code><em>lorsque le montant est le montant de retour null pas d’autre retournent 0</em>.</p></pre>

276voto

mellamokb Points 34067

Utiliser un `` déclaration :

108voto

user1210826 Points 301
SELECT CompanyName, 
    CASE WHEN Country IN ('USA', 'Canada') THEN 'North America'
         WHEN Country = 'Brazil' THEN 'South America'
         ELSE 'Europe' END AS Continent
FROM Suppliers
ORDER BY CompanyName;

47voto

sang kaul Points 29
select 
  id,
  case 
    when report_type = 'P' 
    then amount 
    when report_type = 'N' 
    then -amount 
    else null 
from table

14voto

linitux Points 41
SELECT id, amount
FROM report
WHERE type='P'

UNION

SELECT id, (amount * -1) AS amount
FROM report
WHERE type = 'N'

ORDER BY id;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X