2014-12-03 85 views
0

有一種將選擇結果用於同一選擇的方法?如何將選擇結果用於相同的選擇

這樣的事情?

選擇10作爲數字,(數字/ 2)爲一半FROM表格

Ty。

編輯//////////

好球員,這是實打實的。

SELECT * FROM (SELECT 
(SUM(
CASE 
     WHEN JVB0 = 1 AND JHIT0 = 0 AND JER0 = ' ' THEN '1' 
       WHEN JVB0 = 1 AND JHIT0 = 0 AND JER0 = '' THEN '1' 
       WHEN JVB0 = 1 AND JSF0 = 1 AND JSH0 = 1 THEN '1' 
     ELSE 0 
END)+ 
SUM(CASE 
       WHEN JDP0 = 1 OR JDP0 = 2 THEN '2' 
       WHEN JDP0 = 3 OR JDP0 = 4 THEN '3' 
       WHEN JOR0 = 1 THEN '1' 
       WHEN JACTB0 != '' THEN '1' 
     ELSE 0 
END)) as tercios_thrown, 

我必須把tercios_thrown的結果和一個使用tercios_thrown作爲主數字的公式。因此,我認爲,它可能是其他的方式來做到這一點沒有這樣做:

SELECT * FROM (SELECT 
(SUM(
CASE 
     WHEN JVB0 = 1 AND JHIT0 = 0 AND JER0 = ' ' THEN '1' 
       WHEN JVB0 = 1 AND JHIT0 = 0 AND JER0 = '' THEN '1' 
       WHEN JVB0 = 1 AND JSF0 = 1 AND JSH0 = 1 THEN '1' 
     ELSE 0 
END)+ 
SUM(CASE 
       WHEN JDP0 = 1 OR JDP0 = 2 THEN '2' 
       WHEN JDP0 = 3 OR JDP0 = 4 THEN '3' 
       WHEN JOR0 = 1 THEN '1' 
       WHEN JACTB0 != '' THEN '1' 
     ELSE 0 
END)) as tercios_thrown, 

((SUM(
CASE 
     WHEN JVB0 = 1 AND JHIT0 = 0 AND JER0 = ' ' THEN '1' 
       WHEN JVB0 = 1 AND JHIT0 = 0 AND JER0 = '' THEN '1' 
       WHEN JVB0 = 1 AND JSF0 = 1 AND JSH0 = 1 THEN '1' 
     ELSE 0 
END)+ 
SUM(CASE 
       WHEN JDP0 = 1 OR JDP0 = 2 THEN '2' 
       WHEN JDP0 = 3 OR JDP0 = 4 THEN '3' 
       WHEN JOR0 = 1 THEN '1' 
       WHEN JACTB0 != '' THEN '1' 
     ELSE 0 
END))/3) as the_other_value 
+1

在這種情況下執行'SELECT 10,10/2',那麼實際上試圖實現什麼呢?隨着對問題的更好理解,我們可能能夠找到解決方案。 :) – 2014-12-03 20:34:01

+0

謝謝@DanJ我更新了這個問題 – jCaMaX 2014-12-03 21:36:19

回答

-1

這是不允許的指WHERE子句[或SELECT子句在列別名,因爲列值可能尚未確定該條款何時執行。

所以不,你不能。