Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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.