Date: Wed, 15 Feb 1995 09:22:00 +0000
Reply-To: The NOMAD2 Discussion List
Sender: The NOMAD2 Discussion List
From: Kuen-Yih Chang
Subject: How to select multiple-key master using arrays?
The question is simple: I have those key values in arrays. How can I
select records with these key values?
I have a master with 3 key items (let's make it 2 keys for example
and name these key1, key2).
MASTER sample INSERT=KEYED( KEY1, KEY2);
And I have 2 arrays &x_key1, &x_key2. These two 1-dimentional arrays
hold the key values of those records I want in the master, e.g.,
&x_key1(14) and &x_key2(14) together is the key of the 14th record I
want. If the master has only one key item, I can simply use
SELECT key1 among(constant(&x_key1));
But with multiple keys,
SELECT key1 among(constant(&x_key1)) and
key2 among(constant(&x_key2));
this select will pick up records with key1 and key2 referring to
different elements of &x_key1 and &x_key2.
Let's look at sample data:
Master Array Array
key1 key2 &x_key1 &x_key2
0001 101 0001 102
0001 102 0002 101
0002 101
0002 102
Obviously I want records 2 and 3 in the master. But with previously
SELECT command, all 4 records will be selected. I try to find an
efficient way to do this select. I doubt the efficiency of
SELECT DISPLAY(key1) CAT DISPLAY(key2)
AMONG(DISPLAY(&x_key1) CAT DISPLAY(&x_key2))
I have to use SELECT. Because after this SELECT there might be
lots more SELECT ADD. That is, loop process of the arrays is not in
consideration.
Any suggestion, solution, or question on this question is welcome.
+------------------------------------+
| Kuen-Yih Chang |
| Data Processing Analyst |
| Southern Illinois University |
| School of Medicine-Springfield |
| email:kchang@siumed.edu |
+------------------------------------+
back to index