user9371654
user9371654

Reputation: 2398

Error: No matching signature for operator = for argument types: STRUCT<id STRING, name STRING>, STRING. Supported signatures: ANY = ANY at [4:7]

I added a public database that uses standard sql. It appears as follows: enter image description here

I add #standardsql in addition I changed that from the settings. The query looks like:

#standardsql
SELECT field1,field2
FROM `censys-io.domain_public.current`
WHERE filed3 = "some_string_here";

I get this error:

 Error: No matching signature for operator = for argument types: STRUCT<id STRING, name STRING>, STRING. Supported signatures: ANY = ANY at [4:7]

Can you please tell me the reason and how to fix the issue

Upvotes: 2

Views: 27925

Answers (1)

windmark
windmark

Reputation: 78

Inspecting the error

Error: No matching signature for operator = for argument types: STRUCT<id STRING, name STRING>, STRING. Supported signatures: ANY = ANY at [4:7]

tells us that your line

WHERE filed3 = "some_string_here";

has an incorrect comparison. The left side has STRUCT<id STRING, name STRING> which makes it seem like filed3 is either a struct field or a table on its own. Comparing this with the string "some_string_here" is therefore not valid.

Upvotes: 5

Related Questions