Autor |
Nachricht |
plimacher
Einsteiger
Verfasst am: 03. Jan 2014, 17:56 Rufname: limstilo
Wohnort: Schindellegi
|
|
Version: Office 2010 |
|
In meiner Datenbank existieren zwei Tabellen die in einer 1:n Beziehung stehen.
IDBetrieb (T_BETRIEB): IDDBetrieb (T_PRAKTIKUMSPLAETZE)
IDPraktikumsplatz (Autowert aus T_PRAKTIKUMSPLAETZE)
Für einen Serienbrief benötige ich ich die IDBetrieb und nur die IDPraktikumsplatz mit dem kleinsten Wert (also nur einen Datensatz pro IDBetrieb).
Ich habe in einer Abfrage mit beiden Tabellen die IDBetrieb gruppiert und bei IDPraktikumsplatz die Min Funktion eingesetzt.
Funktioneirt leider nicht. Welchen Fehler mache ich oder existiert eine andere Möglichkeit?
Danke für euer Ratschläge.
|
|
Gast
Verfasst am: 03. Jan 2014, 19:27 Rufname:
|
|
Version: Office 2010 |
|
kopiere das SQL-Statement aus der SQL-Ansicht Deiner Abfrage hier rein.
Das hilft wahrscheinlich am ehesten, Dir eine Hilfestellung zu geben.
|
|
plimacher
Einsteiger
Verfasst am: 03. Jan 2014, 21:11 Rufname: limstilo
Wohnort: Schindellegi
|
|
Version: Office 2010 |
|
Hallo
Hier das SQL-Statement meiner Abfrage:
SELECT T_BETRIEB.IDBetrieb, T_BETRIEB.BFirma, Min(T_PRAKTIKUMSPLAETZE.IDPlätze) AS MinvonIDPlätze, T_PRAKTIKUMSPLAETZE.PAdessstring
FROM T_BETRIEB INNER JOIN T_PRAKTIKUMSPLAETZE ON T_BETRIEB.IDBetrieb = T_PRAKTIKUMSPLAETZE.IDDBetrieb
GROUP BY T_BETRIEB.IDBetrieb, T_BETRIEB.BFirma, T_PRAKTIKUMSPLAETZE.PAdessstring;
|
|
Gast150313
passt scho'

Verfasst am: 03. Jan 2014, 23:31 Rufname:
Wohnort: Kurpfalz
|
|
Version: Office 2010 |
|
plimacher - 03. Jan 2014, 20:11 hat folgendes geschrieben: | ... SQL-Statement meiner Abfrage: ... | So hätte das doch besser ausgesehen, oder: Code: | SELECT T_BETRIEB.IDBetrieb, T_BETRIEB.BFirma, Min(T_PRAKTIKUMSPLAETZE.IDPlätze) AS MinvonIDPlätze, T_PRAKTIKUMSPLAETZE.PAdessstring
FROM T_BETRIEB INNER JOIN T_PRAKTIKUMSPLAETZE ON T_BETRIEB.IDBetrieb = T_PRAKTIKUMSPLAETZE.IDDBetrieb
GROUP BY T_BETRIEB.IDBetrieb, T_BETRIEB.BFirma, T_PRAKTIKUMSPLAETZE.PAdessstring; |
Bitte nächstens konzentrieren!
Probiere mal dies: Code: | SELECT T_PRAKTIKUMSPLAETZE.IDDBetrieb, T_BETRIEB.BFirma, T_PRAKTIKUMSPLAETZE.PAdessstring
FROM ( [SELECT Min(T_PRAKTIKUMSPLAETZE.IDPlätze) AS MinvonIDPlätze FROM T_BETRIEB INNER JOIN T_PRAKTIKUMSPLAETZE ON T_BETRIEB.IDBetrieb = T_PRAKTIKUMSPLAETZE.IDDBetrieb GROUP BY T_BETRIEB.BFirma
]. AS AU INNER JOIN T_PRAKTIKUMSPLAETZE ON AU.MinvonIDPlätze = T_PRAKTIKUMSPLAETZE.IDPlätze) INNER JOIN T_BETRIEB ON T_PRAKTIKUMSPLAETZE.IDDBetrieb = T_BETRIEB.IDBetrieb; |
_________________ Besten Gruß
A. Friend
|
|
plimacher
Einsteiger
Verfasst am: 04. Jan 2014, 11:09 Rufname: limstilo
Wohnort: Schindellegi
|
|
Version: Office 2010 |
|
Herzlichen Dank, das funktioniert einwandfrei!
Dein Hinweis mit dem Code werde ich das nächste Mal berücksichtigen. Hast du mir einen Tip, wie ich mich in die SQL-Sprache einarbeiten kann?
Gruss
|
|
Gast150313
passt scho'

Verfasst am: 04. Jan 2014, 12:38 Rufname:
Wohnort: Kurpfalz
|
|
Version: Office 2010 |
|
plimacher - 04. Jan 2014, 10:09 hat folgendes geschrieben: | ... Hast du mir einen Tip, wie ich mich in die SQL-Sprache einarbeiten kann? | Dazu gehören m.E. drei Dinge:
1. Auf jeden Fall würde ich mir aus dem Web eine sehr gute vollständige Referenz der Sprache SQL besorgen, die alle Befehle und eine gute, kurze, präzise Beschreibung enthält. Da sollte man immer mal wieder reinschauen.
2. Sehr wichtig ist die Erfahrung. Da kommt man mit der grafischen Entwurfsansicht von Access schon ziemlich weit. Man kann die Probleme anschaulich wahrnehmen und dann zusätzlich schauen, wie das in SQL ausgedrückt wird.
3. Dann kommt das Grundverständnis dazu: Ohne das Ganze wirklich logisch einmal grundsätzlich richtig durchdrungen zu haben, kommt man nicht sehr weit. Aber auch das lernt man durch Erfahrung: In deinem Fall war es so, daß du dich mit dem Thema Gruppierung hättest auseinandersetzen sollen. Dann hättest du erkannt, daß bei deinem Output (Betriebs-ID und Praktikumspl.-ID wurden als Spalten ausgegeben) Access gar nicht anders kann, als für jede Betriebs/Praktikums-Kombination eine "Gruppe" zu bilden, d.h. für jeden Datensatz in der Praktikumstabelle. Aus dem Grunde war die geschachtelte Abfrage notwendig. Tipp: Wenn du häufiger mit Gruppierungen in Abfragen arbeitest, solltest du dich mit dem Unterschied von Where und "Having" auseinandersetzen!
_________________ Besten Gruß
A. Friend
|
|
plimacher
Einsteiger
Verfasst am: 05. Jan 2014, 17:50 Rufname: limstilo
Wohnort: Schindellegi
|
|
Version: Office 2010 |
|
Danke, ich verstehe jetzt auch deine Lösung (die Verschachtelung habe ich nicht verstanden). Ich habe ein Buch gefunden Einstieg in SQL, Galileo Computing. Es enthält viele Beispiele.
Nochmals herzlichen Dank.
Gruss
|
|
plimacher
Einsteiger
Verfasst am: 30. Apr 2014, 16:32 Rufname: limstilo
Wohnort: Schindellegi
|
|
Version: Office 2010 |
|
Im Januar hast du mir bei der Erstellung der Abfrage geholfen. Nun hat sich ein Problem ergeben. Durch Zufall habe ich heraus gefunden, dass wenn im Feld BFirma der gleiche Wert mehrmals vorkommt, diese aus der Abfrage ausgeschlossen werden. In der zugrundeligenden Tabelle hatte ich das Feld schon auf indiziert -Ja (Duplikate möglich) eingestellt.
Woran kann das liegen? Muss ich die Abfrage ändern? Ich stehe da wiedr mal an.
Danke für deine Antwort.
Gruss
Patrick
|
|
Gast150313
passt scho'

Verfasst am: 30. Apr 2014, 19:34 Rufname:
Wohnort: Kurpfalz
|
|
Version: Office 2010 |
|
Stelle bitte mal Testdaten für beide Tabellen in Form einer Textdatei hier rein, also so: Code: | "IDPlätze";"PAdessstring";"IDDBetrieb"
1;"Hinterhof 5";1 |
_________________ Besten Gruß
A. Friend
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|
|
Verwandte Themen |
Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Access Programmierung / VBA: Abfragekriterien |
2 |
Donna34 |
97 |
30. Okt 2012, 19:46 Bitsqueezer  |
 |
Access Tabellen & Abfragen: Abfragekriterien über Formular, wenn Kriterium "Leer&am |
6 |
VBANewb |
385 |
24. Mai 2012, 16:53 VBANewb  |
 |
Access Tabellen & Abfragen: mehrere Abfragekriterien für ein Feld |
2 |
Rocahontas |
294 |
23. Mai 2012, 21:13 MissPh!  |
 |
Access Tabellen & Abfragen: Abfragekriterien--> Pull Down Menü? |
10 |
daydreamer |
601 |
18. Okt 2011, 14:18 Gast  |
 |
Access Tabellen & Abfragen: Access 97 Abfragekriterien 1024 Zeichen Beschränkung |
7 |
Lokomo |
1492 |
14. März 2010, 09:18 Lokomo  |
 |
Access Tabellen & Abfragen: Wenn-Funktion mit mehreren Abfrage-Kriterien |
2 |
Gast528 |
798 |
22. Sep 2009, 13:08 KlausMz  |
 |
Access Programmierung / VBA: Abfragekriterien über mehrere Listenfelder |
4 |
FelixSG |
888 |
16. Aug 2009, 21:13 FelixSG  |
 |
Access Tabellen & Abfragen: Abfrage: Festlegung von abhängigen Abfragekriterien |
1 |
Marc.Nicolai |
300 |
03. Feb 2009, 15:32 Nouba  |
 |
Access Tabellen & Abfragen: Abfragekriterien aus Tabelle beziehen |
2 |
networker/// |
992 |
11. Sep 2008, 16:58 networker///  |
 |
Access Tabellen & Abfragen: Variabele Abfrage-Kriterien |
5 |
zimboo |
5464 |
02. Nov 2007, 08:57 SlayerSH  |
 |
Access Tabellen & Abfragen: Abfragekriterien aus Hilfstabelle |
4 |
pacman |
576 |
17. Apr 2007, 17:33 pacman  |
 |
Access Tabellen & Abfragen: Abfragekriterien in Hilfstabelle definieren |
1 |
front0708 |
809 |
08. Dez 2006, 20:36 jens05  |
|
|