2017-05-10 21 views
0

(`Pre-Scan Hours Planned`-`Pre-Scan Time Spent`)は陽性のみにします。結果が否定的なものなら、私はそれを望んでいません。私はSELECT句に(`Pre-Scan Hours Planned`-`Pre-Scan Time Spent`)>0を試しましたが、動作しませんでした。MySQLのクエリからのみ肯定的な結果を得るにはどうすればよいですか?

SELECT 

     `Account Executive`, 
     `DC Clerk`, 
     `Project Number`, 
     Manufacturer, 
     `Open Project Date`, 
     `DUE DATE`, 
     `Project Status`, 

     (`Pre-Scan Hours Planned`+ 
     `Radiated Emissions Hours Planned`+ 
     `Conducted Emissions Hours Planned`+ 
     `Harmonic and Flicker Hours Planned`+ 
     `ESD Hours Planned`+ 
     `RF Immunity Hours Planned`+ 
     `EFT Hours Planned`+ 
     `Surge Hours Planned`+ 
     `Conducted RF Hours Planned`+ 
     `Magnetic Field Hours Planned`+ 
     `Voltage Dips Hours Planned`+ 
     `EUT Photos and Data Sheet Hours Planned`+ 
     `Data Sheet Hours Planned`) AS 'Total Planned Hours', 

     (`Pre-Scan Time Spent`+ 
     `Radiated Emissions Time Spent`+ 
     `Conducted Emissions Time Spent`+ 
     `Harmonic and Flicker Time Spent`+ 
     `ESD Time Spent`+ 
     `RF Immunity Time Spent`+ 
     `EFT Time Spent`+ 
     `Surge Time Spent`+ 
     `Conducted RF Time Spent`+ 
     `Magnetic Field Time Spent`+ 
     `Voltage Dips Time Spent`+ 
     `EUT Photos and Data Sheet Time Spent`+ 
     `Data Sheet Time Spent`) AS 'Total Spent Hours', 

     ((`Pre-Scan Hours Planned`-`Pre-Scan Time Spent`)+ 
     (`Radiated Emissions Hours Planned`-`Radiated Emissions Time Spent`) + 
     (`Conducted Emissions Hours Planned`-`Conducted Emissions Time Spent`) + 
     (`Harmonic and Flicker Hours Planned`-`Harmonic and Flicker Time Spent`) + 
     (`ESD Hours Planned`- `ESD Time Spent`) + 
     (`RF Immunity Hours Planned`-`RF Immunity Time Spent`) + 
     (`EFT Hours Planned`- `EFT Time Spent`) + 
     (`Surge Hours Planned`-`Surge Time Spent`) + 
     (`Conducted RF Hours Planned`-`Conducted RF Time Spent`) + 
     (`Magnetic Field Hours Planned`-`Magnetic Field Time Spent`)+ 
     (`Voltage Dips Hours Planned`-`Voltage Dips Time Spent`) + 
     (`EUT Photos and Data Sheet Hours Planned`-`EUT Photos and Data Sheet Time 
     Spent`) + 
     (`Data Sheet Hours Planned` -`Data Sheet Time Spent`)) AS 'Remaining Hours', 

     (`Pre-Scan Status`+ 
     `Radiated Emissions Status`+ 
     `Conducted Emissions Status`+ 
     `Harmonic and Flicker Status`+ 
     `ESD Status`+ 
     `RF Immunity Status`+ 
     `EFT Status`+ 
     `Surge Status`+ 
     `Conducted RF Status`+ 
     `Magnetic Field Status`+ 
     `Voltage Dips Status`+ 
     `EUT Photos Status`+ 
     `Data Sheet Status`) AS 'Items Remaining' 

    FROM 
     EMCtestplan 

例えば、我々は、クエリの下に持って、私はより良い説明してみましょう:

私はこの必要があります。ただ、正式を計算し、私は(f1-f2)+(f3-f4)+(f5-f6) as Sumこのコードをしたい

select 
a, 
b, 
c, 
(f1-f2)+(f3-f4)+(f5-f6) as Sum 
from table 

を。例えば、(f3-f4)が否定的で、単に計算するならば、合計を計算しないでください(f1-f2)+(f5-f6)

私を助けてください! OPが答えとして提起している新しい質問への答えに変更

+0

この文を 'Where'節に入れます。 –

+1

あなたの質問を更新し、無関係な "回答"を削除することをお勧めします – Degan

+0

あなたの質問を明確にする情報を追加するための回答を投稿しないでください。代わりに、あなたの質問に[編集]リンクを使用して、追加情報を追加してください。回答を投稿するボタンは、質問に対する完全な回答のためだけに使用してください。 –

答えて

0

を処理したい場合それが否定的であるときに使用しますか?私はあなたがゼロを使いたいと思うでしょう。

(`Pre-Scan Hours Planned`-`Pre-Scan Time Spent`) 

変更:

(CASE WHEN `Pre-Scan Hours Planned`-`Pre-Scan Time Spent` > 0 
     THEN (`Pre-Scan Hours Planned`-`Pre-Scan Time Spent`) 
     ELSE 0 END) 

あなたが好きな場合は、ゼロ以外のものを使用することができます。

+0

OH私の神。私はこれが動作すると思う....私はこの構文を忘れて....私はそれを試してみよう、ありがとうたくさん –

+0

私は選択でこれを使うことができますか? –

+0

どこでも好きな場所で使うことができます。あなたのケースでは、私は私の答えの中で言及したように、 '(Pre-Scan Hours Planned-Pre-Scan Time Spent)'の代わりにそれを使用したいと思うでしょう。 –

0

OPがあります

select 
a, 
b, 
c, 
(f1-f2)+(f3-f4)+(f5-f6) as Sum 
from table 

私は((F1-F2)+(F3-F4)+をしたいですf5-f6)as this sumこのコードは、 という正の数式を計算するだけです。例えば(F3-F4) negetiveだけcalculte(F1-F2)+(F5-F6)であれば合計を計算していない

あなただけ(F3-F4)を懸念している場合は負であること:

select 
a, 
b, 
c, 
CASE 
    When (f3-f4) < 0 then (f1-f2)+(f5-f6) 
    Else (f1-f2)+(f3-f4)+(f5-f6) 
END as Sum 
from table 

(F1-F2)、(F3-F4)のいずれか、(F5-F6)が負の懸念は、その後、私はあなたがしたいですかどう違っ

select 
a, 
b, 
c, 
(MAX(f1-f2,0) + MAX(f3-f4,0) + MAX(f5-f6,0) as Sum 
from table 
+0

スペースやハイフンが含まれているため、名前の前後にバッククォートが必要です。 – Barmar

+0

答えてくれてありがとう...しかし、あなたが何かを追加すると、すべての柱に効果が出る場所に何かを追加しても、それは助けになることはできません...そして、私はそれらのそれぞれのために4番目の柱にこの陽性を持たせたい...私は私のすべての欄に検索データを入力してください –

関連する問題