[gelöst]Problem bei der Menge an Abfragewerten
Moderator: Moderatoren
[gelöst]Problem bei der Menge an Abfragewerten
Guten Morgen
Ich hab nun gerade eine Abfrage mit 29 Abfragewerten aus 6 Tabellen
Diese werden bis 25 ohne Probleme hinzugefügt.
Anschließend erweitert sich im Assistenten unten zwar die Liste Schrittweise aber ich kann den 29. z.b. nicht mehr ändern , wenn ich dann die Abfrage versuche auszuführen hängt sich Base auf.
Die DB ist halt MySQL auf einem Gentoo Server
Schnitstelle per ODBC.
Das "Frontend" bearbeite ich gerade auf einem P4 2.6 GHz mit 512MB Ram unter Windows 2000
edit: hab jetzt mal zusätzlich die 3beta2 installiert , unter dieser tritt das gleich auf
edit2: eigene dummheit , man sollte primärschlüssel richtig setzen
Ich hab nun gerade eine Abfrage mit 29 Abfragewerten aus 6 Tabellen
Diese werden bis 25 ohne Probleme hinzugefügt.
Anschließend erweitert sich im Assistenten unten zwar die Liste Schrittweise aber ich kann den 29. z.b. nicht mehr ändern , wenn ich dann die Abfrage versuche auszuführen hängt sich Base auf.
Die DB ist halt MySQL auf einem Gentoo Server
Schnitstelle per ODBC.
Das "Frontend" bearbeite ich gerade auf einem P4 2.6 GHz mit 512MB Ram unter Windows 2000
edit: hab jetzt mal zusätzlich die 3beta2 installiert , unter dieser tritt das gleich auf
edit2: eigene dummheit , man sollte primärschlüssel richtig setzen
Zuletzt geändert von DeeJay am Di, 09.09.2008 07:48, insgesamt 1-mal geändert.
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Re: Problem bei der Menge an Abfragewerten
Code: Alles auswählen
SELECT `tbl_Adressen`.`Firma1`, `tbl_Adressen`.`Strasse`, `tbl_Adressen`.`PLZ`, `tbl_Adressen`.`Ort`, `tbl_Angebot`.`AngNr`, `tbl_Angebot`.`ProjektZeile1`, `tbl_Angebot`.`ProjektZeile2`, `tbl_Angebot_Version`.`Version`, `tbl_Angebot_Version`.`AnlDatum`, `tbl_Angebot_Version`.`Ansprechpartner`, `tbl_Angebot_Version`.`Abteilung`, `tbl_Angebot_Version`.`Tel`, `tbl_Angebot_Version`.`Fax`, `tbl_Angebot_Version`.`Anfrage`, `tbl_Angebot_Version`.`ZusatzText`, `tbl_Angebot_Version_Daten`.`PosNr`, `tbl_Angebot_Version_Daten`.`WZ_Nr`, `tbl_Angebot_Version_Daten`.`WZ_Version`, `tbl_WZ_Version`.`WZ_VersionTxt`, `tbl_WZ_Version`.`WZ_KundenNr`, `tbl_Angebot_Version_Daten`.`WZ_Text`, `tbl_Angebot_Version_Daten_Staffel`.`StaffelNr`, `tbl_Angebot_Version_Daten_Staffel`.`Menge`, `tbl_Angebot_Version`.`LandUSA`, `tbl_Angebot_Version`.`Vorname`, `tbl_Angebot_Version`.`Anrede`, `tbl_Adressen`.`Waehrung`, `tbl_Angebot`.`DollarKurs` FROM `wzdb`.`tbl_Angebot_Version_Daten_Staffel` AS `tbl_Angebot_Version_Daten_Staffel`, `wzdb`.`tbl_Angebot_Version_Daten` AS `tbl_Angebot_Version_Daten`, `wzdb`.`tbl_WZ_Version` AS `tbl_WZ_Version`, `wzdb`.`tbl_Angebot_Version` AS `tbl_Angebot_Version`, `wzdb`.`tbl_Angebot` AS `tbl_Angebot`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen` WHERE `tbl_Angebot_Version_Daten_Staffel`.`PosNr` = `tbl_Angebot_Version_Daten`.`PosNr` AND `tbl_Angebot_Version_Daten_Staffel`.`AngNr` = `tbl_Angebot_Version_Daten`.`AngNr` AND `tbl_Angebot_Version_Daten_Staffel`.`Version` = `tbl_Angebot_Version_Daten`.`Version` AND `tbl_WZ_Version`.`WZ_Nr` = `tbl_Angebot_Version_Daten`.`WZ_Nr` AND `tbl_WZ_Version`.`WZ_Version` = `tbl_Angebot_Version_Daten`.`WZ_Version` AND `tbl_Angebot_Version_Daten`.`AngNr` = `tbl_Angebot_Version`.`AngNr` AND `tbl_Angebot_Version`.`AngNr` = `tbl_Angebot`.`AngNr` AND `tbl_Angebot`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr`
so sieht die select aus , aber es fehlt ansich sogar noch eine if abfrage darin.
dies ist momentan nur das was im assistenten zusammenkam , sobald ich da dann auch anzeigen gehen stürzt OOo ab
ok hab nun versucht die ausgabe ein wenig zu kürzen durch distinctrows
Code: Alles auswählen
SELECT DISTINCTROW tbl_Adressen.Firma1, tbl_Adressen.Strasse, tbl_Adressen.PLZ, tbl_Adressen.Ort, tbl_Angebot.AngNr, tbl_Angebot.ProjektZeile1, tbl_Angebot.ProjektZeile2, tbl_Angebot_Version.Version, tbl_Angebot_Version.AnlDatum, tbl_Angebot_Version.Ansprechpartner, tbl_Angebot_Version.Abteilung, tbl_Angebot_Version.Tel, tbl_Angebot_Version.Fax, tbl_Angebot_Version.Anfrage, tbl_Angebot_Version.ZusatzText, tbl_Angebot_Version_Daten.PosNr, tbl_Angebot_Version_Daten.WZ_Nr, tbl_Angebot_Version_Daten.WZ_Version, tbl_WZ_Version.WZ_VersionTxt, tbl_WZ_Version.WZ_KundenNr, tbl_Angebot_Version_Daten.WZ_Text, tbl_Angebot_Version_Daten_Staffel.StaffelNr, tbl_Angebot_Version_Daten_Staffel.Menge, IIf(`Staffel_PreisManuell`<>0,`Staffel_PreisManuell`,`Staffel_Preis`) AS VKPreis, tbl_Angebot_Version.LandUSA, tbl_Angebot_Version.Vorname, tbl_Angebot_Version.Anrede, tbl_Adressen.Waehrung, tbl_Angebot.DollarKurs
FROM tbl_WZ_Version INNER JOIN ((tbl_Adressen INNER JOIN tbl_Angebot ON tbl_Adressen.LfdAdrNr = tbl_Angebot.LfdAdrNr) INNER JOIN (tbl_Angebot_Version INNER JOIN (tbl_Angebot_Version_Daten LEFT JOIN tbl_Angebot_Version_Daten_Staffel ON (tbl_Angebot_Version_Daten.Version = tbl_Angebot_Version_Daten_Staffel.Version) AND (tbl_Angebot_Version_Daten.AngNr = tbl_Angebot_Version_Daten_Staffel.AngNr) AND (tbl_Angebot_Version_Daten.PosNr = tbl_Angebot_Version_Daten_Staffel.PosNr)) ON (tbl_Angebot_Version.Version = tbl_Angebot_Version_Daten.Version) AND (tbl_Angebot_Version.AngNr = tbl_Angebot_Version_Daten.AngNr)) ON tbl_Angebot.AngNr = tbl_Angebot_Version.AngNr) ON (tbl_WZ_Version.WZ_Version = tbl_Angebot_Version_Daten.WZ_Version) AND (tbl_WZ_Version.WZ_Nr = tbl_Angebot_Version_Daten.WZ_Nr);

aber ich brauch ne lösung weil da kommen noch einige abfragen/berechnungen in abfragen die genauso bzw noch länger sind
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Re: Problem bei der Menge an Abfragewerten
Hallo DeeJay,
siehst Du bei den vielen JOINS eigentlich noch durch?
Kleiner Tip: Formatier am besten die Abfragen einmal durch bevor Du sie hier einstellst. Das macht's für uns alle einfacher.
Dass Dir die DB einfriert liegt vermutlich an irgendeiner falschern JOIN-Bedingung, die eine VIELZAHL an Ergebnisdatensätzen liefert.
Am besten Du beginnst mit höchstens drei beteiligten Tabellen, testest dann das Ergebnis und fügst nach und nach die anderen hinzu.
Gruß Barlee
siehst Du bei den vielen JOINS eigentlich noch durch?

Kleiner Tip: Formatier am besten die Abfragen einmal durch bevor Du sie hier einstellst. Das macht's für uns alle einfacher.
Dass Dir die DB einfriert liegt vermutlich an irgendeiner falschern JOIN-Bedingung, die eine VIELZAHL an Ergebnisdatensätzen liefert.
Am besten Du beginnst mit höchstens drei beteiligten Tabellen, testest dann das Ergebnis und fügst nach und nach die anderen hinzu.
Gruß Barlee
Re: Problem bei der Menge an Abfragewerten
ich hab mir die nicht ausgesucht 
wie ich schon woanders hier mal geschrieben habe versuche ich eine access db in ooo zu portieren.
dort sieht der code auch so wild aus mit den vielen joins , aber die müssen scheinbar so sein
aus der db werden zum schluß werkzeugzeichnungen errechnet , diese abfrage dort ist zwar für ein report für adressen , aber in verbindung mit werzeugen die angeboten wurden und eine verknüpfung zu zeichnungen etc haben.
den code habe ich so kopiert wie er in base dargestellt wird , gibts dort irgendeine option das der mal sauber dargestellt wird?
macht mich selbst immer wieder irre wenn dort alles aneinander gehängt wird
Mfg DeeJay aka Stefan

wie ich schon woanders hier mal geschrieben habe versuche ich eine access db in ooo zu portieren.
dort sieht der code auch so wild aus mit den vielen joins , aber die müssen scheinbar so sein
aus der db werden zum schluß werkzeugzeichnungen errechnet , diese abfrage dort ist zwar für ein report für adressen , aber in verbindung mit werzeugen die angeboten wurden und eine verknüpfung zu zeichnungen etc haben.
den code habe ich so kopiert wie er in base dargestellt wird , gibts dort irgendeine option das der mal sauber dargestellt wird?
macht mich selbst immer wieder irre wenn dort alles aneinander gehängt wird
Mfg DeeJay aka Stefan
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Re: Problem bei der Menge an Abfragewerten
Hallo DeeJay,
Apropos "SQL Kommando direkt ausführen". Du schreibst, dass Base hängenbleibt. Hast Du die Ausführung der Abfrage mal sowohl mit als auch ohne diese Option probiert?
Läuft die Abfrage ansonsten einwandfrei durch, wenn Du sie z.B. im MySQL Query Browser ausführst?
Gruß Barlee
Meines Wissens nicht. Die Formatierung bleibt nur erhalten, wenn "SQL direkt ausführen" aktiviert ist.den code habe ich so kopiert wie er in base dargestellt wird , gibts dort irgendeine option das der mal sauber dargestellt wird?
Apropos "SQL Kommando direkt ausführen". Du schreibst, dass Base hängenbleibt. Hast Du die Ausführung der Abfrage mal sowohl mit als auch ohne diese Option probiert?
Läuft die Abfrage ansonsten einwandfrei durch, wenn Du sie z.B. im MySQL Query Browser ausführst?
Gruß Barlee
Re: Problem bei der Menge an Abfragewerten
guten morgen , also ich hab das ganze an abfrage nun mal in phpmyadmin in sql ausführen gemacht , da bleibt der nun seit über 10min am laden , weis nicht ob der je zu einem ergebnis kommt, aber danach aussehen tut es nicht.
das schlimme ist das es in access keine 20 sekunden dauert bis die abfrage durch ist und ein ergebnis gezeigt wird
edit:
hab jetzt beide abfrageformen die oben gepostet sind probiert , jeweils nach einer stunde kein ergebnis. scheinbar hängt sich dann mysql auf dem server ganz auf und es hilft nur ein reboot.
das schlimme ist das es in access keine 20 sekunden dauert bis die abfrage durch ist und ein ergebnis gezeigt wird
edit:
hab jetzt beide abfrageformen die oben gepostet sind probiert , jeweils nach einer stunde kein ergebnis. scheinbar hängt sich dann mysql auf dem server ganz auf und es hilft nur ein reboot.
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Re: Problem bei der Menge an Abfragewerten
Hallo DeeJay,
schwer zu sagen woran es scheitert. Ich würde -testweise- einmal die Schreibweise umstellen und dann probieren,
Also anstelle von:
versuche es einmal mit:
Gruß Barlee
schwer zu sagen woran es scheitert. Ich würde -testweise- einmal die Schreibweise umstellen und dann probieren,
Also anstelle von:
Code: Alles auswählen
SELECT tab1.Spalte1, tab1.Spalte2, tab2.Spalte2 FROM tab1 INNER JOIN tab2 ON tab1.Spalte2=tab2.Spalte2
Code: Alles auswählen
SELECT tab1.Spalte1, tab1.Spalte2, tab2.Spalte2 FROM tab1, tab2 WHERE tab1.Spalte2=tab2.Spalte2
Re: Problem bei der Menge an Abfragewerten
Code: Alles auswählen
SELECT DISTINCTROW
`tbl_Adressen`.`Firma1`, `tbl_Adressen`.`Strasse`, `tbl_Adressen`.`PLZ`, `tbl_Adressen`.`Ort`,
`tbl_Angebot`.`AngNr`, `tbl_Angebot`.`ProjektZeile1`, `tbl_Angebot`.`ProjektZeile2`, `tbl_Angebot_Version`.`Version`, `tbl_Angebot_Version`.`AnlDatum`, `tbl_Angebot_Version`.`Ansprechpartner`, `tbl_Angebot_Version`.`Abteilung`, `tbl_Angebot_Version`.`Tel`, `tbl_Angebot_Version`.`Fax`, `tbl_Angebot_Version`.`Anfrage`, `tbl_Angebot_Version`.`ZusatzText`,
`tbl_Angebot_Version_Daten`.`PosNr`, `tbl_Angebot_Version_Daten`.`WZ_Nr`, `tbl_Angebot_Version_Daten`.`WZ_Version`,
`tbl_WZ_Version`.`WZ_VersionTxt`, `tbl_WZ_Version`.`WZ_KundenNr`,
`tbl_Angebot_Version_Daten`.`WZ_Text`, `tbl_Angebot_Version_Daten_Staffel`.`StaffelNr`, `tbl_Angebot_Version_Daten_Staffel`.`Menge`, `tbl_Angebot_Version`.`LandUSA`, `tbl_Angebot_Version`.`Vorname`, `tbl_Angebot_Version`.`Anrede`, `tbl_Adressen`.`Waehrung`, `tbl_Angebot`.`DollarKurs`
FROM `wzdb`.`tbl_Angebot_Version_Daten_Staffel` AS `tbl_Angebot_Version_Daten_Staffel`, `wzdb`.`tbl_Angebot_Version_Daten` AS `tbl_Angebot_Version_Daten`, `wzdb`.`tbl_WZ_Version` AS `tbl_WZ_Version`, `wzdb`.`tbl_Angebot_Version` AS `tbl_Angebot_Version`, `wzdb`.`tbl_Angebot` AS `tbl_Angebot`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Angebot_Version_Daten_Staffel`.`PosNr` = `tbl_Angebot_Version_Daten`.`PosNr` AND `tbl_Angebot_Version_Daten_Staffel`.`AngNr` = `tbl_Angebot_Version_Daten`.`AngNr` AND `tbl_Angebot_Version_Daten_Staffel`.`Version` = `tbl_Angebot_Version_Daten`.`Version` AND `tbl_WZ_Version`.`WZ_Nr` = `tbl_Angebot_Version_Daten`.`WZ_Nr` AND `tbl_WZ_Version`.`WZ_Version` = `tbl_Angebot_Version_Daten`.`WZ_Version` AND `tbl_Angebot_Version_Daten`.`AngNr` = `tbl_Angebot_Version`.`AngNr` AND `tbl_Angebot_Version`.`AngNr` = `tbl_Angebot`.`AngNr` AND `tbl_Angebot`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr`
Fehler war: ich hatte nach dem neu abgleich der Daten die Primärschlüssel nicht neu gesetzt *vornkopphau*
edit:
nun mit IF , funktioniert auch

Code: Alles auswählen
SELECT DISTINCTROW
`tbl_Adressen`.`Firma1`, `tbl_Adressen`.`Strasse`, `tbl_Adressen`.`PLZ`, `tbl_Adressen`.`Ort`,
`tbl_Angebot`.`AngNr`, `tbl_Angebot`.`ProjektZeile1`, `tbl_Angebot`.`ProjektZeile2`, `tbl_Angebot_Version`.`Version`, `tbl_Angebot_Version`.`AnlDatum`, `tbl_Angebot_Version`.`Ansprechpartner`, `tbl_Angebot_Version`.`Abteilung`, `tbl_Angebot_Version`.`Tel`, `tbl_Angebot_Version`.`Fax`, `tbl_Angebot_Version`.`Anfrage`, `tbl_Angebot_Version`.`ZusatzText`,
`tbl_Angebot_Version_Daten`.`PosNr`, `tbl_Angebot_Version_Daten`.`WZ_Nr`, `tbl_Angebot_Version_Daten`.`WZ_Version`,
`tbl_WZ_Version`.`WZ_VersionTxt`, `tbl_WZ_Version`.`WZ_KundenNr`,
`tbl_Angebot_Version_Daten`.`WZ_Text`, `tbl_Angebot_Version_Daten_Staffel`.`StaffelNr`, `tbl_Angebot_Version_Daten_Staffel`.`Menge`,
If(`Staffel_PreisManuell`<>0,`Staffel_PreisManuell`,`Staffel_Preis`) AS VKPreis,
`tbl_Angebot_Version`.`LandUSA`, `tbl_Angebot_Version`.`Vorname`, `tbl_Angebot_Version`.`Anrede`, `tbl_Adressen`.`Waehrung`, `tbl_Angebot`.`DollarKurs`
FROM `wzdb`.`tbl_Angebot_Version_Daten_Staffel` AS `tbl_Angebot_Version_Daten_Staffel`, `wzdb`.`tbl_Angebot_Version_Daten` AS `tbl_Angebot_Version_Daten`, `wzdb`.`tbl_WZ_Version` AS `tbl_WZ_Version`, `wzdb`.`tbl_Angebot_Version` AS `tbl_Angebot_Version`, `wzdb`.`tbl_Angebot` AS `tbl_Angebot`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Angebot_Version_Daten_Staffel`.`PosNr` = `tbl_Angebot_Version_Daten`.`PosNr` AND `tbl_Angebot_Version_Daten_Staffel`.`AngNr` = `tbl_Angebot_Version_Daten`.`AngNr` AND `tbl_Angebot_Version_Daten_Staffel`.`Version` = `tbl_Angebot_Version_Daten`.`Version` AND `tbl_WZ_Version`.`WZ_Nr` = `tbl_Angebot_Version_Daten`.`WZ_Nr` AND `tbl_WZ_Version`.`WZ_Version` = `tbl_Angebot_Version_Daten`.`WZ_Version` AND `tbl_Angebot_Version_Daten`.`AngNr` = `tbl_Angebot_Version`.`AngNr` AND `tbl_Angebot_Version`.`AngNr` = `tbl_Angebot`.`AngNr` AND `tbl_Angebot`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr`
Danke
siehe dazu auch viewtopic.php?f=17&t=19510

oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)