Hi Beth,
Try something like this ...
Here's a simple table schema:
CREATE TABLE abbrev ( abbr varchar(10), long_name varchar(50), primary key(abbr)
);
Throw in some random data:
INSERT INTO abbrev VALUES ('fs', 'fsolomon');
INSERT INTO abbrev VALUES ('bg', 'bgatewood');
INSERT INTO abbrev VALUES ('junk', 'nomatch');
Query the table:
SELECT * FROM abbrev WHERE long_name~abbr;
... which yields these results:
abbr | long_name
------+-----------fs | fsolomonbg | bgatewood
Note that ~ does a case-sensitive regex match. If you really want a
'like' match, you could do this instead:
SELECT * FROM abbrev where long_name~~('%' || abbr || '%');
... where '||' is the string-concatenation operator.
Hope this helps
Francis Solomon
> -----Original Message-----
> From: pgsql-sql-owner@postgresql.org
> [mailto:pgsql-sql-owner@postgresql.org]On Behalf Of Beth Gatewood
> Sent: 07 December 2000 21:06
> To: pgsql-sql@postgresql.org
> Subject: [SQL] trying to pattern match to a value contained
> in a column
>
>
> Hi-
>
> I can't figure out how to do this....
>
> I examine a table where I think that one attribute is an
> abbreviation of
> another attribute.
>
> So-If I had a table where I had LONG_NAME and ABBR as attributes.
>
> I want something like
>
> SELECT whatever FROM my_table WHERE long_name LIKE '%[the
> value of ABBR
> in that row]%';
>
>
> Of course this doesn't work...
>
> Any thoughts?
>
> Thanks-
> Beth
>
>
>