If you want to search for entities which contain a "Foo" part then you need to do:
SELECT entity_id FROM entities WHERE part1='Foo' OR part2='Foo' OR part3='Foo' ... OR part12='Foo';
Or perhaps slightly more concise:
SELECT entity_id FROM entities WHERE 'Foo' IN (part1, part2, part3, ..., part12);
I'd much prefer something like:
SELECT e.entity_id FROM entities e INNER JOIN entity_parts ep ON e.entity_id=ep.entity_id WHERE ep.part='Foo'
When you get to searching for different combinations of parts, the advantages of joining become even more apparent:
SELECT e.entity_id FROM entities e INNER JOIN entity_parts ep1 ON e.entity_id=ep1.entity_id INNER JOIN entity_parts ep2 ON e.entity_id=ep2.entity_id WHERE ep1.part='Foo' AND ep2.part IN ('Bar', 'Baz')
And in terms of the e-mail example, it's much easier to, say, enforce a UNIQUE constraint over a single column.
In reply to Re^4: In base 1, the number after 0 is:
by tobyink
in thread In base 1, the number after 0 is:
by chacham
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |