Question: I am trying to iterate over a Python 2D list. As the algorithm iterates over the list, **it will add the key to a new list until a new value is detected**. An operation is then applied to the list and then the list is emptied so that it can be used again as follows:

```
original_list = [('4', 'a'), ('3', 'a'), ('2', 'a'), ('1', 'b'), ('6', 'b')]

```

When the `original_list` is read by the algorithm it should evaluate the second value of each object and decipher if it is different from the previous value; if not, add it to a temporary list.

Here is the psedo code 

```
temp_list = []
new_value = original_list[0][1] #find the first value

for key, value in original_list:
    if value != new_value:
        temp_list.append(new_value)

```

Should output

```
temp_list = ['4', '3', '2']

```

Answer: 
Concat only takes two arguments.
See: <http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions026.htm>

Use the concatenation operator:

```
select column1 || column2 || column3 ...

```
```
select ([column1]+','+[column2]+','+[column3]) as concatcolumn from table

```

Try above the query.it may changes on different type of column data type.