Toon posts:

[Access] Probleem met query bouwen :(

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb 3 tabellen waar ik data uit moet halen. Het probleem is dat er ook veel dubbels tussen zitten.

Data komt uit deze 3 tables, aangezien een deel niet volledig is binnen Msm data - estab

Afbeeldingslocatie: http://picserver.student.utwente.nl/view_image.php/0EV0T17LE9V7/p.jpeg

De nodige velden zijn adb acct urn, isu code, terr, segment uit smb2004, alles uit Msm data - estab behavle Isu Code, Isu description, Terr en segment en isu description uit de table Isu.

Het probleem van de query zijn de bubbels die gaan voorkomen:
Een adb acct urn mét telefoonnummer (Crm Main Phone) en een row zonder die telefoonnummer of accounts zonder telefoonnummer:

code:
1
2
3
4
5
6
7
8
9
10
11
12
Adb Acct Urn    Msm Estab Key   Estab Name  Empl Num Estab  Empl Num Org    Owning Mu Code  Owning Sr Code  Owning Branch Code  Owning Dmsr Code    T Over Revenue Estab    T Over Revenue Org  Buying Decn Ind Crm Main Phone Num  Industry (IMS)  Industry Code (APE) APE Description Isu Code    ISU Description IMS Description IMG Description Terr    Segment
9397721 FRABC001054587  INCKA   1   1   S   XXXXXX  308 XXXXXX  0   0   U       BB  721Z    CONSEIL EN SYSTèMES INFORMATIQUES   340 GMSB Acquisition / Prospects    OUTSOURCING Computer Services   308S    Acquisition
9398375 FRABC001054556  PARKER HANNIFIN MONTBLANC   0   0   2   094042  318 XXXXXX  0   0   U       SB  652E    ORGANISMES DE PLACEMENT EN VALEURS MOBILIèRES   342 GSMB Primary    FINANCIAL - OTHER   Finance - Markets   318 Primary
9398375 FRABC001054556  PARKER HANNIFIN MONTBLANC   0   0   2   094042  318 XXXXXX  0   0   U   0450878080  SB  652E    ORGANISMES DE PLACEMENT EN VALEURS MOBILIèRES   342 GSMB Primary    FINANCIAL - OTHER   Finance - Markets   318 Primary
9398376 FRABC001054557  STUDIOS DE FRANCE   10  10  S   XXXXXX  308 XXXXXX  0   0   U   0149982696  KC  921D    PRESTATIONS TECHNIQUES POUR LE CINéMA ET LA TéLé    340 GMSB Acquisition / Prospects    ENTERTAINMENT   Media & Entertainment   308S    Acquisition
9398376 FRABC001054557  STUDIOS DE FRANCE   10  10  S   XXXXXX  308 XXXXXX  0   0   U       KC  921D    PRESTATIONS TECHNIQUES POUR LE CINéMA ET LA TéLé    340 GMSB Acquisition / Prospects    ENTERTAINMENT   Media & Entertainment   308S    Acquisition
9398383 FRABC001054564  DISTRI MA   3   3   1   087295  322 XXXXXX  0   0   U   0442329090  WP  514S    AUTRES COMMERCES DE GROS DE BIENS DE CONSOMMATIO    341 GSMB Focus  WHOLESALE-DURABLES  Wholesale Distribution & Serv.  322 Focus
9398390 FRABC001054571  DISTILLERIE BUSNEL SAS  20  20  0   XXXXXX  328 XXXXXX  0   0   U       DJ  159B    FABRICATION DE SPIRITUEUX   340 GMSB Acquisition / Prospects    CPG- BEVERAGES & TOBACCO    Consumer Packaged Goods 328 Acquisition
9398390 FRABC001054571  DISTILLERIE BUSNEL SAS  20  20  0   XXXXXX  328 XXXXXX  0   0   U   0232578008  DJ  159B    FABRICATION DE SPIRITUEUX   340 GMSB Acquisition / Prospects    CPG- BEVERAGES & TOBACCO    Consumer Packaged Goods 328 Acquisition
9398394 FRABC001054575  ASSOCIATION ADMR    20  20  5   XXXXXX  326 XXXXXX  0   0   U   0549540818  GA  853J    AIDE à DOMICILE 340 GMSB Acquisition / Prospects    FIN.& ADMIN STATE/PROV./REG Government ( State & Local) 326 Acquisition
9398394 FRABC001054575  ASSOCIATION ADMR    20  20  5   XXXXXX  326 XXXXXX  0   0   U       GA  853J    AIDE à DOMICILE 340 GMSB Acquisition / Prospects    FIN.& ADMIN STATE/PROV./REG Government ( State & Local) 326 Acquisition
9398395 FRABC001054576  AEA CONSULTING  1   1   S   XXXXXX  308 XXXXXX  0   0   U       CB  741G    CONSEIL POUR LES AFFAIRES ET LA GESTION 340 GMSB Acquisition / Prospects    MANAGEMENT CONSULTING   Professional Services   308S    Acquisition


Weet iemand een manier om slecht het account met tel te selecteren indien er meerdere zijn of anders gewoon degene zonder, kwestie van geen accounts te verliezen ?

Alvast bedankt

Verwijderd

Topicstarter
Gevonden!

Wel blijf ik nog zitten met de dubbels, maar die blijken al in de source te zitten... Dus daar kan ik niet veel aan veranderen.

De oplossing...

SELECT DISTINCT *
FROM [Msm data - estab]
WHERE not exists (SELECT * FROM Smb2004 WHERE [Msm data - estab].[Adb Acct Urn] = [Smb2004].[Adb Acct Urn]);

SELECT DISTINCT [Msm data - estab].[Adb Acct Urn], [Msm data - estab].[Msm Estab Key], [Msm data - estab].[Estab Name], [Msm data - estab].[Empl Num Estab], [Msm data - estab].[Empl Num Org], [Msm data - estab].[Owning Mu Code], [Msm data - estab].[Owning Sr Code], [Msm data - estab].[Owning Branch Code], [Msm data - estab].[Owning Dmsr Code], [Msm data - estab].[T Over Revenue Estab], [Msm data - estab].[T Over Revenue Org], [Msm data - estab].[Buying Decn Ind], [Msm data - estab].[Crm Main Phone Num], [Msm data - estab].[Industry (IMS)], [Msm data - estab].[Industry Code (APE)], [Msm data - estab].[APE Description], Smb2004.[Isu Code], Isu.[ISU Description], [Msm data - estab].[IMS Description], [Msm data - estab].[IMG Description], Smb2004.[Terr], Smb2004.[Segment]
FROM (Isu INNER JOIN Smb2004 ON Isu.[Isu Code] = Smb2004.[Isu Code]) INNER JOIN [Msm data - estab] ON Smb2004.[Adb Acct Urn] = [Msm data - estab].[Adb Acct Urn]
WHERE exists (SELECT * FROM Smb2004 WHERE Smb2004.[Adb Acct Urn] = [Msm data - estab].[Adb Acct Urn]);