in reply to Re^3: In base 1, the number after 0 is:
in thread In base 1, the number after 0 is:
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.
use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
In Section
Past Polls