Luca Ferrari wrote:
> Hi,
> I don't know if this's possible but I'd like to hide column values for
> specific rows within a query. Imagine I've got a table with columns username
> and password: users(username,password). Now I'd like the user registered in
> the table to see her password, to see who is registered but not to see the
> other people passwords. For example, if the table contains:
> username | password
> --------------+-------------
> luca | myPaswd
> roberto | otherPaswd
> gianna | thirdPaswd
>
> I'd like to do a query like: "SELECT * FROM users where username=luca"
> obtaining something like:
> username | password
> --------------+-------------
> luca | myPaswd
> roberto | xxxxx
> gianna | XXXXX
>
> Is it possible to specify in the above query that all password columns that do
> not belong to selected row (username=luca) must be hidden? Anyone has an idea
> about how to implement this on the database side?
>
> Thanks,
> Luca
>
You could try:
select username,case when username='luca' then password else 'XXXXXX'
end as password from users;
Note that the the username 'luca' corresponds to the user querying the
table.