Thread: weird(to me) request

weird(to me) request

From
Larry Rosenman
Date:
I have the following rows (in addition to others):

acct_num text,
master_acct_num text,


These are in the same table.

What I want to enforce is that if the master_acct_num field is NOT NULL (it
can be NULL, and
that's fine), that the value appears in some row as acct_num.  acct_num has
a unique index on it, so that's fine.

I'm not sure how to do this....

Thanks!

LER


--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: weird(to me) request

From
Adam Wieckowski
Date:
Użytkownik Larry Rosenman napisał:

> I have the following rows (in addition to others):
>
> acct_num text,
> master_acct_num text,
>
>
> These are in the same table.
>
> What I want to enforce is that if the master_acct_num field is NOT
> NULL (it can be NULL, and
> that's fine), that the value appears in some row as acct_num.
> acct_num has a unique index on it, so that's fine.
>
> I'm not sure how to do this....
>
> Thanks!
>
> LER
>
>
select   case       when master_acct_num is null           then acct_num       else master_acct_num   end   from table;

did you mained somethink like this ?

Re: weird(to me) request

From
Larry Rosenman
Date:

--On Thursday, September 25, 2003 20:59:25 +0200 Adam Wieckowski
<adam-wieckowski@tlen.pl> wrote:

> U¿ytkownik Larry Rosenman napisa³:
>
>> I have the following rows (in addition to others):
>>
>> acct_num text,
>> master_acct_num text,
>>
>>
>> These are in the same table.
>>
>> What I want to enforce is that if the master_acct_num field is NOT
>> NULL (it can be NULL, and
>> that's fine), that the value appears in some row as acct_num.
>> acct_num has a unique index on it, so that's fine.
>>
>> I'm not sure how to do this....
>>
>> Thanks!
>>
>> LER
>>
>>
> select
>     case
>         when master_acct_num is null
>             then acct_num
>         else master_acct_num
>     end
>     from table;
>
> did you mained somethink like this ?

I'm actually looking to enforce the fact that if master_acct_num is
entered, it points
to a valid acct_num.

LER



--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

Re: weird(to me) request

From
Richard Huxton
Date:
On Thursday 25 September 2003 19:51, Larry Rosenman wrote:
> I have the following rows (in addition to others):
>
> acct_num text,
> master_acct_num text,
>
>
> These are in the same table.
>
> What I want to enforce is that if the master_acct_num field is NOT NULL (it
> can be NULL, and
> that's fine), that the value appears in some row as acct_num.  acct_num has
> a unique index on it, so that's fine.
>
> I'm not sure how to do this....

ALTER TABLE my_table ADD CONSTRAINT my_self_fk FOREIGN KEY (master_acct_num) 
REFERENCES my_table (acct_num);

It's really just a foreign-key to yourself
--  Richard Huxton Archonet Ltd


Re: weird(to me) request

From
Larry Rosenman
Date:

--On Thursday, September 25, 2003 20:09:35 +0100 Richard Huxton
<dev@archonet.com> wrote:

> On Thursday 25 September 2003 19:51, Larry Rosenman wrote:
>> I have the following rows (in addition to others):
>>
>> acct_num text,
>> master_acct_num text,
>>
>>
>> These are in the same table.
>>
>> What I want to enforce is that if the master_acct_num field is NOT NULL
>> (it can be NULL, and
>> that's fine), that the value appears in some row as acct_num.  acct_num
>> has a unique index on it, so that's fine.
>>
>> I'm not sure how to do this....
>
> ALTER TABLE my_table ADD CONSTRAINT my_self_fk FOREIGN KEY
> (master_acct_num)  REFERENCES my_table (acct_num);
>
> It's really just a foreign-key to yourself
I wasn't sure I could do that.  Thanks!

LER


--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749