MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 04.12.2018, 21:14   #1
Yuppilarve
Neuer Benutzer
Neuer Benutzer
Standard Admin : MSSQL - Abfrage über mehrere Tabellen (joint und count)

Guten Abend und hallo.
Mein erster Beitrag in diesem Forum. Mal sehen, ob ich unangenehm auffalle

Ich habe folgendes Problem:
In einer Tabelle stehen Artikelinformationen, in einer zweiten Tabelle Dokumenteninfos und eine dritte Tabelle enthält die Verlinkungen zwischen beiden Tabellen.
Nun suche ich alle Artikel aus der Artikeltabelle, die ein Dokument verlinkt haben. Das habe ich auch soweit hinbekommen.
Jetzt möchte ich aber nur die Artikel finden, an denen mehr als ein Dokument hängt. Dies würde ich gerne mit COUNT realisieren, indem ich die Child-IDs auswerte. Leider bekomme ich nur Fehler....
Ich glaube es liegt daran, wo COUNT in der Abfrage auftaucht (mit dem 2. SELECT fing das Unheil an).
Das 2. Select muss auf eine andere Tabelle laufen, wie das erste.....
Leider lerne ich gerade erst die SQL Grundlagen und tue mir noch sehr schwer mit allem.

Code:

SELECT [as_mi__name] AS 'DB ID'
      ,[au_mi__erp_number] AS 'Artikel Nr.' 
      ,[au_mi__u_description_1_de] AS 'Benennung 1'
      ,[au_mi__u_description_2_de] AS 'Benennung 2'
           (SELECT COUNT pdb.K_t_links.as_lnk__child_id AS 'Doc-Anz'
           FROM pdb.K_t_links)
FROM pdb.K_t_MasterItems inner join
   pdb.K_t_links ON pdb.K_t_MasterItems.as_mi__id = pdb.K_t_links.as_lnk__parent_id inner join
   pdb.K_t_Documents ON pdb.K_t_links.as_lnk__child_id = pdb.K_t_Documents.as_do__id 
  WHERE pdb.K_t_MasterItems.au_mi__beschaffungskenner = 'E'
  and pdb.K_t_MasterItems.as_mi__status = 'freigegeben'
  and pdb.K_t_Documents.as_do__class_type = 'SLDDRW'
Als Ergebnis erwarte ich viele Artikelnummern mit einem Count. Diesen möchte ich dann weiter auswerten, z.B. COUNT > 2.

Aus dem Bauch heraus würde ich sagen, es müsste SELECT von "mehreren Spalten" aus "mehreren Tabllen" inkl. COUNT auf eine gewisse Spalte sein.
Yuppilarve ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.12.2018, 16:27   #2
Josef P.
MOF Guru
MOF Guru
Standard

Hallo!

Ich versuche deine Fragestellung mit einem Beispiel zu beantworten.
Dabei beachte ich deine SQL-Anweisung nicht, sondern verwende eigene Bezeichnungen.

Ausgangssituation:
Tabelle: Artikel
Tabelle: Dokumente
Tabelle: Artikel_Dokumente (n:m-Verknüpfungstabelle : fiArtikel -> Artikel.idArtikel)


Code:

select
    A.*, AD.AnzahlDokumente
from
   Artikel A
   inner join (
       select fiArtikel, Count(*) as AnzahlDokumente
       from Artikel_Dokumente 
       group by fiArtikel
   ) AD ON AD.fiArtikel = A.idArtikel
Diese Abfrage würde alle Arikel liefern, die mindestens 1 verknüpftes Dokument enthalten. (Ich gehe davon aus, dass in der TAbelle Artikel_Dokumente fiArtikel und fiDokument immer vorhanden sein müssen. => damit ist die Vrknüfpung zu Dokumententabelle nicht erforderlich.)

mfg
Josef

Geändert von Josef P. (05.12.2018 um 16:30 Uhr).
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.12.2018, 21:57   #3
Yuppilarve
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Guten Abend Josef,
danke für die Antwort. Zur Zeit versuche ich noch zu verstehen, was du da genau abfragst....

Ich glaube die Verknüpfung zur Dokumententabelle ist schon erforderlich. Es kann mehrere Dokumente geben, die am Artikel hängen. Mich interessieren aber nur die vom Typ SLDDRW. Und diese steht in der Dokumententabelle
Yuppilarve ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.