Ask Your Question
4

How can I display the name of a column in another column if it matches a given value using SQL?

asked 2023-07-09 18:27:31 +0000

scrum gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2023-07-09 18:30:01 +0000

devzero gravatar image

Assuming you have a table called "tablename" with columns "col1", "col2", "col3" and you want to display the name of the column where the value matches a given value "searchvalue", the following SQL query should work:

SELECT CASE WHEN col1 = 'searchvalue' THEN 'col1' WHEN col2 = 'searchvalue' THEN 'col2' WHEN col3 = 'searchvalue' THEN 'col3' END AS matchedcolumn FROM tablename WHERE col1 = 'searchvalue' OR col2 = 'searchvalue' OR col3 = 'searchvalue';

This query uses the CASE statement to check each column for the given value and return the name of the matching column as the "matched_column" alias. The WHERE clause is used to filter the results to only include rows where at least one column matches the given value.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-07-09 18:27:31 +0000

Seen: 10 times

Last updated: Jul 09 '23