|
| ?... MSSQL 7.0 Syntaks, at finde manglende~ Fra : mj@privat.dk |
Dato : 11-02-01 18:17 |
|
Hej NG's
Er der en der kan hjælpe med nedenstående SQL Syntaks til MSSQL 7.0
Mit problem er, jeg skal finde ud af hvilket nye delprod. der skal
indgår i forskellige hovedprod.
Alle hovedprod har en kode for, hvilket delprod der skal være i denne.
SQL resultatet skulle gerne se ud som nederste på denne side
Choko1 skal have tilført nyt delprod ( 6, 7)
Choko2 skal have tilført nyt delprod ( 5, 6, 7)
Choko3 skal have tilført nyt delprod ( 6, 8)
Bemærk: at choko1 i forevejen har delprod 5 hvorfor choko1 ikke skal
komme med ud i SQL resultatet med delprod 5 selvom choko1 har kode 1
for tilgang af nye delprod.
NB: Jeg ved godt dette er et lidt kryptisk ?...
Tabel 1
HovedProd Delprod Kode_for_tilgang_af_ny_delprod
Choko1 1 1
Choko1 2 1
Choko1 3 1
Choko1 4 1
Choko1 5 1
Choko2 1 1
Choko2 2 1
Choko2 3 1
Choko2 4 1
Choko3 1 2
Choko3 2 2
Choko3 3 2
Tabel 2
Nyt Delprod Kode_for_tilgang_af_ny_delprod
5 1
6 1
7 1
6 2
8 2
SQL resultat
HovedProd Nyt Delprod Kode_for_tilgang_af_ny_delprod
Choko1 6 1
Choko1 7 1
Choko2 5 1
Choko2 6 1
Choko2 7 1
Choko3 6 2
Choko3 8 2
Mvh
Michael
| |
Nis Jørgensen (11-02-2001)
| Kommentar Fra : Nis Jørgensen |
Dato : 11-02-01 18:55 |
|
On Sun, 11 Feb 2001 17:16:48 GMT, mj@privat.dk wrote:
>Tabel 1
>HovedProd Delprod Kode_for_tilgang_af_ny_delprod
>Choko1 1 1
>Choko1 2 1
>Choko1 3 1
>Choko1 4 1
>Choko1 5 1
>Choko2 1 1
>Choko2 2 1
>Choko2 3 1
>Choko2 4 1
>Choko3 1 2
>Choko3 2 2
>Choko3 3 2
Din database er tilsyneladende ikke normaliseret. Du vil gøre livet lettere for
dig selv ved at normalisere den til
Tabel 1A
HovedProd KFTAND
Choko1 1
Choko2 1
Choko3 2
Tabel 1B
HovedProd Delprod
Choko1 1
Choko1 2
Choko1 3
Choko1 4
Choko1 5
Choko2 1
Choko2 2
Choko2 3
Choko2 4
Choko3 1
Choko3 2
Choko3 3
Tabel 2
Nyt Delprod KFTAND
5 1
6 1
7 1
6 2
8 2
Så kan du bruge noget i retning af:
SELECT
Hovedprod,[Nyt Delprod], Kode_for_tilgang_af_ny_delprod
FROM
[Tabel 1A] INNER JOIN [Tabel 2] ON [Tabel 1A].KFTAND = [Tabel 2].KFTAND
WHERE
[Nyt Delprod] NOT IN
(SELECT Delprod
FROM [Tabel 1B]
WHERE [Tabel 1B].Hovedprod = [Tabel 1A].Hovedprod)
(Noget ligenende kan selvfølgelig laves med din nuværende struktur og noget
DISTINCT eller GROUP BY)
--
Med venlige hilsner
Nis Jørgensen, Albertslund
Actual code behavior may differ from intended.
| |
mj@privat.dk (11-02-2001)
| Kommentar Fra : mj@privat.dk |
Dato : 11-02-01 19:35 |
|
Nis Jørgensen skrev:
Klip
>
>Så kan du bruge noget i retning af:
>
>SELECT
> Hovedprod,[Nyt Delprod], Kode_for_tilgang_af_ny_delprod
>FROM
> [Tabel 1A] INNER JOIN [Tabel 2] ON [Tabel 1A].KFTAND = [Tabel 2].KFTAND
>WHERE
> [Nyt Delprod] NOT IN
> (SELECT Delprod
> FROM [Tabel 1B]
> WHERE [Tabel 1B].Hovedprod = [Tabel 1A].Hovedprod)
>
>(Noget ligenende kan selvfølgelig laves med din nuværende struktur og noget
>DISTINCT eller GROUP BY)
Foreløbig tak for dit hurtige svar, jeg vil forsøge at ændre
strukturen i min base (32000 records i delprod samt ca 1500 records i
hovedprod)
mvh Michael
| |
mj@privat.dk (12-02-2001)
| Kommentar Fra : mj@privat.dk |
Dato : 12-02-01 21:59 |
|
Nis Jørgensen skrev:
Klip
>
>Så kan du bruge noget i retning af:
>
Jeg takker... det virkede efter strukturændring.
mvh
Michael
Klip
| |
|
|