Merge fields into one row, even with different timestamps?

I have what is likely a rather trivial question, but for some reason it has me stuck. I am trying to add some filters to my query. I would like to essentially be able to filter on all of my fields values, sort of like a select * from db where this = that sql statement.

Here is the flux I’m working with:

import "influxdata/influxdb/schema"

PropertiesTable = (meas) => 
from(bucket: "example bucket")
|> range(start: 0)
|> filter(fn: (r) => r._measurement == meas)
|> last()
|> schema.fieldsAsCols()

PropertiesTable(meas: "tag1")

The idea is to combine all of the fields most recent value into one row, that way I can use filter statements to filter out series that I don’t want based on the fields values. For example, if all of the fields are in one row I could say where the r.Description == “description value” and then the flux would give me all of the fields (not just the description fields) where the series’s description equals “description value”.

The issue I’m running into is field values having different timestamps. When I use schema.fieldsAsCols(), if a fields timestamp is mismatched with the rest of the fields, it adds a row and puts the particular fields value there. Is there anyway that I can force the fields with different timestamps into the same row as the rest of the fields? Even if i have to “rename” the _time column to something like “fieldName_Time” and add a new column for the different timestamps, that’s totally fine.