I am using a SQL query to fetch 3 column values. Sometimes I don't get records. What I need is a query that always returns `field1`, even if `field2` and `field3` are NULL. 

**I'm using `field1` as input:**

```
AND field1 IN('test1', 'test2', 'test3')

```

How can I always return these values?

**Complete SQL query:**

```
SELECT field1, field2, field3
        FROM
            (
                SELECT
                    name1.field1,
                    name1.field2,
                    name3.field3,
                    name4.field4,
                    @pl2 := IF( @pl1 = name1.field1, @pl2, 1) as pl2,
                    @pl1 := name1.field1
                FROM
                    (
                        SELECT
                            @pl1 := NULL,
                            @pl2 := 0
                    )
                    R,
                    db1.field5 AS name1,
                    db1.field6 AS name2,
                    db1.field7 AS name3,
                    db1.field8 AS name4
                WHERE
                    name2.field9 = name1.field9
                    AND name3.field10 = name2.field10
                    AND name4.field11 = name3.field3
                    AND field1 IN('test1', 'test2', 'test3')
                    AND field12 LIKE 'helloworld'
                    AND name2.field13 LIKE 'helloworld'
                GROUP BY name1.field1
                ORDER BY name1.field14 desc
            )
            A
        WHERE
            pl2 = 1

```

**Current output (wrong):**

```
AND field1 IN('test1', 'test2', 'test3')

field1 | field2 | field3
test3  | hello  | world

AND field1 IN('test1', 'test2')

field1 | field2 | field3

```

**Needed output:**

```
AND field1 IN('test1', 'test2', 'test3')

field1 | field2 | field3
test1  | [this part doesn't matter]
test2  | [this part doesn't matter]
test3  | hello  | world

AND field1 IN('test1', 'test2')

field1 | field2 | field3
test1  | [this part doesn't matter]
test2  | [this part doesn't matter]

```