arni64 Geschrieben 16. Juli 2010 Geschrieben 16. Juli 2010 Hallo, die Lösung sollte eigentlich ganz einfach sein, leider fehlt mir noch die richtige Idee! Also, ich habe 2 Tabellen, Tabelle 1 mit 1000 Datensätzen und Tabelle 2 mit 10 Datensätzen. Beide sind miteinander verknüpft. Ich benötige eine Abfrage, mit der ich die Datensätze der Tabelle 1 bekomme, die in der Tabelle 2 nicht enthalten sind (990 Datensätze). Mit den in CR enthaltenen Join's habe ich das bisher nicht geschafft, habt Ihr eine Idee? mfg arni64:( Zitieren
flashpixx Geschrieben 16. Juli 2010 Geschrieben 16. Juli 2010 select * from table1 left join table2 on table1.pk=table2.fk where table2.pk is null (ungetestet) sollte das passende liefern, wobei das natürlich von dem DBMS abhängig ist, wie der genaue Syntax lautet. Zitieren
arni64 Geschrieben 16. Juli 2010 Autor Geschrieben 16. Juli 2010 Hallo flashpix, Dank für die schnelle Antwort. Per SQL-Editor mag das funktionieren, aber wie bringe ich das Crystal Report bei?? Zitieren
flashpixx Geschrieben 16. Juli 2010 Geschrieben 16. Juli 2010 Per SQL-Editor mag das funktionieren, aber wie bringe ich das Crystal Report bei?? Du müsstest das über Unterberichte in CR realisieren, wobei ich das immer etwas "umständlich" finde. Ich würde in der DB einen View mit dem passenden SQL Statement einrichten und den View in CR verwenden Zitieren
arni64 Geschrieben 16. Juli 2010 Autor Geschrieben 16. Juli 2010 das "Umständliche" wollte ich gerade vermeiden. An der DB kann ich so leider nichts ändern. Vielen Dank für die Mühe. mfg arni64 Zitieren
RipperFox Geschrieben 20. Juli 2010 Geschrieben 20. Juli 2010 Obwohl das schon wieder kalter Kaffee ist: Ich glaube nicht, dass Du CR schon ausgereizt hast. Ich kenne den genauen Aufbau deiner DB nicht, aber da sollte sich was machen lassen: Bei Datenbank->Visueller-Verknüpfungs-Assistent kann man die Beziehungen der Tabellen untereinander angeben. Ich nehme an, Du suchst den "SQL-Verknüpfungstyp" namens "Ungleich [!=]" Über "SQL-Abfrage anzeigen" sieht man, dass daraus dann ein ...INNER JOIN Tabelle1 ON Tabelle1.lID <> Tabelle2.fID... wird.. Andere Möglichkeit: Über "Bericht" -> "Auswahlformel bearbeiten" kann man ebenfalls noch genug "drehen".. Grüße Ripper Zitieren
flashpixx Geschrieben 20. Juli 2010 Geschrieben 20. Juli 2010 Obwohl das schon wieder kalter Kaffee ist: Ich glaube nicht, dass Du CR schon ausgereizt hast. Das war ja mein Vorschlag, eben das SQL Statement anpassen, nur das funktioniert leider nicht immer (manche Statements habe ich unter CR 11) nicht zum laufen bekommen. Deswegen der Hinweis das Statement als View in die DB zu legen, dann sieht es für CR wie eine Tabelle aus und man kann mit arbeiten Zitieren
arni64 Geschrieben 20. Juli 2010 Autor Geschrieben 20. Juli 2010 Hallo RipperFox, die Abfrage ist in der realen Welt natürlich etwas komplizierter. Ich arbeite mit CR2008, da kann ich unter Bericht/Auswahlformel nur die Datenauswahl, nicht aber die Datenbankverknüpfung drehen. Wenn ich über den "Visueller-Verknüpfungs-Assistent" gehe, und ich die Ungleich Verknüpfung (!=)auswähle, kommt bei der Abfrage nur eine Meldung "Daten konnten nicht aus der Datenbank abgerufen werden. Nicht implementiert" Ich habe das Problem jetzt aber selbst gelöst. Ich habe mir eine "Linke äußere Verknüpfung" mit "=" erstellt und die Datensätze, die ein Feld aus der zweiten DB enthalten, einfach ausgeblendet. Funktioniert gut. Danke für die Unterstützung mfg arni64 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.