My database contains a table `person` with these fields `username, name, online, visible, ...`

I have the following query to fetch the person

```
SELECT *,
    CASE
        WHEN online = 0 THEN 0
        WHEN visible = 0 THEN 0
        ELSE online
    END AS online
FROM person
where id = SOMEID

```

I am trying to move the online/offline with respect to user-set visibility logic right into the query. Basically show online status depending on visibility status (If the user has chosen to be invisible, show offline even if the user is online).

This kind of works but with an issue. I get two repeated columns in the result of this query. 

```
username | name | online | visible | ... | online
x        | x    | x      | x       | ... | x

```

For reasons not in my control I am stuck with using `SELECT *` instead of manually typing in the columns as `SELECT username, name, visible, ...`. Is there a way to exclude `online` field from `SELECT *`? Since it will be created by the CASE statement later.