Query for cross Multiplication
You need to define the column that denotes the desired order of multiplication. I'm not sure if that's what column2 is supposed to be in your example data and have just used a column called id for that purpose below.

Assuming your RDBMS supports window functions then you can use the idea from here.

The below uses some non standard TSQL functions you will need to translate into the dialect of SQL that your implementation is actually using (if you are not in fact using SQL Server)

Online Demo

SELECT CASE 
         WHEN Min(Abs(Column1)) 
                OVER ( 
                  ORDER BY id) = 0 THEN 0 
         ELSE CASE 
                WHEN Sum(Sign(CASE 
                                WHEN Column1 &lt; 0 THEN 1 
                                ELSE 0 
                              END)) 
                       OVER ( 
                         ORDER BY id) % 2 = 1 THEN -1 
                ELSE 1 
              END * Exp(Sum(Log(Abs(NULLIF(Column1, 0)))) 
                          OVER ( 
                            ORDER BY id)) 
       END 
FROM   YourTable