SQL> DROP TABLE syn
Table dropped.
SQL> CREATE TABLE syn
(
   val   VARCHAR2 (30),
   lik   VARCHAR2 (30)
)
Table created.
SQL> INSERT ALL
  INTO syn
VALUES ('red', 'red')
  INTO syn
VALUES ('red', 'rouge')
  INTO syn
VALUES ('red', 'crimson')
  INTO syn
VALUES ('car', 'car')
  INTO syn
VALUES ('car', 'motor')
  INTO syn
VALUES ('car', 'vehicle')
   SELECT 1 FROM DUAL
6 rows created.
SQL> COMMIT
Commit complete.
SQL> SELECT x.lik, y.lik
  FROM syn x CROSS JOIN syn y
 WHERE x.val = 'red' AND y.val = 'car'

LIK                            LIK_1
------------------------------ ------------------------------
red                            car
red                            motor
red                            vehicle
rouge                          car
rouge                          motor
rouge                          vehicle
crimson                        car
crimson                        motor
crimson                        vehicle

9 rows selected.


On Sun, Sep 29, 2013 at 3:51 AM, Phil W <philwinfi...@gmail.com> wrote:

> Given a phase, and a table of "like" words, essentially a thesaurus, I'd
> like to generate all permutations of the phrase
> making use of the thesaurus entries.
>
> I am sure it is possible in an SQL statement as I'd like to avoid PL/SQL
> if possible but I am thinking now that a function/pipelined function
> might be my only option. Does anyone with better SQL than me know how this
> can be done please?
>
> create table word_syn
> (value varchar2(30),
>  likeness varchar2(30))
> /
>
> insert all
> into word_syn values ('red','rouge')
> into word_syn values ('red','crimson')
> into word_syn values ('car','motor')
> into word_syn values ('car','vehicle')
> select 1 from dual
> /
>
>
> /* Find options for "big red car"
>    Desired output is:
>    big rouge car
>    big rouge motor
>    big rouge vehicle
>    big red motor
>    big crimson motor... and so on.
> */
>
>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Oracle PL/SQL" group.
> To post to this group, send email to Oracle-PLSQL@googlegroups.com
> To unsubscribe from this group, send email to
> oracle-plsql-unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/Oracle-PLSQL?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "Oracle PL/SQL" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to oracle-plsql+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Oracle PL/SQL" group.
To post to this group, send email to Oracle-PLSQL@googlegroups.com
To unsubscribe from this group, send email to
oracle-plsql-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/Oracle-PLSQL?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"Oracle PL/SQL" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to oracle-plsql+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to