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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.