SELECT * FROM crosstab( 'SELECT rowid, key, value FROM test WHERE key= ''key1'' OR key = ''key2'' OR key = ''key3'' OR key = ''key4'' ORDER BY 1,2') AS ct(rowid text, key1 text, key2 text, key3 text, key4 text);