In a definitely wrong code, I'm trying to do something like:

```
SELECT * FROM table2 WHERE
table2.items CONTAINS ONLY ELEMENTS FROM table1.item

```

This is a little confusing, but I'l try to explain:

I have one table (table1) which has a column with one element in each row (let's call them A, B, C, D)

```
id - [item]

1 - ["A"]
2 - ["B"]
3 - ["C"]
4 - ["D"]

```

Then I have another table (table2) which its columns contains strings like:

```
TABLE2
row# - [items]

row1 - ["A, B"]
row2 - ["A, B, C"]
row3 - ["A, B, C, E"]

```

What I want is select only the rows from table2 that contains only elements present in table1, so row1 and row2, in this example.

Is it possible to do that without changing the tables' structure? Otherwise, which changes do I need to make?

---------[edit]-------------

So I changed my structure, to be able to use the IN operator and it worked (almost) fine!
A new problem has arrived though.
Since my table2 strings had different lengths, my new table2 has some empty cells.

---[update]---

So if I'm trying to check if

```
|item1|item2|item3|item4| row |
|  A  |  B  |  C  |     |  2  |

```

row2 is in table1.item (same as above), one of the conditions I ask for is

```
WHERE NULL IN table1.item

```

and it isn't! What I need is to only check if the item is in the other table when the item isn't NULL. I'l try playing with that