Re: need help for a where clause
| From: | Sascha Cunz | Date: | Sun, 06 Oct 2002 23:21:21 +0000 |
| Subject: | Re: need help for a where clause | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-119025@lists.php.net to get a copy of this message | ||
A solution on that depends strongly on how much values A.Afn would take. For
3, it's still okay. But i wouldn't do more.
Against what shall the B.Bfn* be checked? What Data do you want to be returned
from the query?
try:
SELECT ### FROM A, B WHERE
((A.Afn=1) AND (B.Bfn1 = ...)) OR
((A.Afn=2) AND (B.Bfn2 = ...)) OR
((A.Afn=3) AND (B.Bfn3 = ...))
where you should replace ### with things you want to select and ... with the
things you want to check.
On more than 3 different values for A.Afn, you should use a more normalized
version of B.
i.e.: B contains only one Bfn field and a Reference to A.Afn.
-> SELECT ### FROM A, B WHERE B.AfnRef = A.Afn AND B.Bfn = ...
Sascha
Am Montag, 7. Oktober 2002 00:33 schrieb Alex Shi:
> Hi,
>
> I need a where clause in following situation:
>
> Say I want to query two tables: A and B. In table A there is field
> Afn, while in table B there are 3 fields: Bfn1, Bfn2 and Bfn3. I want
> to do a query, in which the where clause must do these things:
>
> if A.Afn=1, then check value of B.Bfn1;
> if A.Afn=2, then check value of B.Bfn2;
> if A.Afn=3, then check value of B.Bfn3.
>
> So how can I create such a where clause to do this?
> Thanks in advance!
>
> Alex Shi