![]() |
AW: Zum nächsten Datensatz springen
Zitat:
Wie es möglich sein soll, dass die beiden Abfragen ohne NULL Werte in der Datenbank nicht funktionieren, ist mir völlig rätselhaft, eigentlich müsste es auf beide Arten gehen. Ich würde, um ganz sicher zu gehen, einmal drei Update Statements über die Datenbank laufen lassen: update tabelle set name='' where name is null das gleiche für vorname und für gesch_firma, und dann die beiden Abfragen noch einmal ausprobieren. |
AW: Zum nächsten Datensatz springen
Ja tut es.
|
AW: Zum nächsten Datensatz springen
Markus, könntest Du nochmal nach meinem Edit in #40 schauen?
|
AW: Zum nächsten Datensatz springen
@Idefix: Werde ich mal probieren. Du meinst die Statements von DeddyH?
Bei allen drei Updates waren 0 Zeilen betroffen. Es stand also nirgendwo NULL in den betroffenen Feldern. |
AW: Zum nächsten Datensatz springen
Nach genauer Überlegung stimmt es, dass das Statement bei wiederholter Ausführung u.U. immer zwischen 2 DS hin- und herspringen würde. Das könnte man vermeiden, indem man die ID in das künstlich erzeugte Vergleichsfeld mit einbezieht. Aber dazu muss ja erst einmal ein Ergebnis kommen.
|
AW: Zum nächsten Datensatz springen
Zitat:
|
AW: Zum nächsten Datensatz springen
Asche auf mein Haupt. Es sind alle da. Ich hatte beim ersten testen nur in der Mitte angefangen und zufällig wo die Firmen anfangen. Als er dann die Firmen durch hatte, dachte ich die privaten Kontakte würden Fehlen, aber die lagen ja DAVOR. das lag aber auch daran, will ich die Übersichtsliste noch nach der Kategorie (Arzt, Geschäftlich, Privat) sortiert habe. da kommen erst alle Ärze alphabetisch, dann alle Firmen alphabetisch und dann alle privaten Kontakte alphabtisch. Bei dir kommen erst alle privaten Kontakte und dann alle Firmen bzw. Ärzte alphabtisch. Wenn ich kjetzt aus meiner Liste den ersten Kontak aufrufe, das ist ein Arzt, lande ich bei dir am Ende der privaten Kontakte und am Anfang von den Ärzten/Firmen, also am Ende der Liste. Ich glaube mit einem GROUP BY müsste ich das noch hinbiegen können.
Hier die Liste von der aus ich einen Datensatz aufrufen kann:
Code:
Wenn ich jetzt den vorherigen Datensatz haben will, dann muss ich die Größer-/Kleinerzeichen umdrehen und aus ASC DESC machen oder?
"SELECT a.*, k.name as k_name
FROM adressen a LEFT OUTER JOIN adr_kategorien k on k.id = a.kategorie_id WHERE k.name='".$kat."' ORDER BY k.name, a.gesch_firma, a.name, a.vorname |
AW: Zum nächsten Datensatz springen
Nur zur Sicherheit:
nächster DS
SQL-Code:
Vorheriger DS:
SELECT
ID FROM adressen WHERE CONCAT_WS(' ',gesch_firma,name,vorname,CAST(ID AS VARCHAR)) >= (SELECT CONCAT_WS(' ',gesch_firma,name,vorname,CAST(ID AS VARCHAR)) FROM adressen WHERE ID = $id) AND ID <> $id ORDER BY gesch_firma,name,vorname LIMIT 1
SQL-Code:
Wie gehabt ungetestet, sollte aber hoffentlich passen.
SELECT
ID FROM adressen WHERE CONCAT_WS(' ',gesch_firma,name,vorname,CAST(ID AS VARCHAR)) <= (SELECT CONCAT_WS(' ',gesch_firma,name,vorname,CAST(ID AS VARCHAR)) FROM adressen WHERE ID = $id) AND ID <> $id ORDER BY gesch_firma DESC,name DESC,vorname DESC LIMIT 1 [edit] Den sql-Tag hatte ich auch schon versucht, es muss jetzt [ code=SQL ] heißen (ohne Leerzeichen natürlich) [/edit] |
AW: Zum nächsten Datensatz springen
Zitat:
Aber was an der Query von DeddyH falsch ist, würde mich noch interessieren, die schaut mir nämlich ziemlich gleichwertig aus - die vom allerletzten Posting sollte genau das gleiche machen. Oder funktioniert die ohnehin auch? Halt - CAST(ID AS VARCHAR) gehört auch noch in die Order by Klausel angehängt, sonst ist erst wieder ein Pendeln zwischen zwei Datensätzen möglich. |
AW: Zum nächsten Datensatz springen
Jetzt willst du es aber wissen, was? ;) Ich werde deine Version morgen mal ausprobieren. Jetzt muss ich erst mal gucken, dass ich die Sortierreihenfolge der Liste und beim Blätter gleich hinbekomme, sonst ist das etwas verwirrend.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz