Hy
ich habe einen View erstellt mit dem ich etwas vergleichen will,
aber wenn ich den SQL-Befehl ausführe den ich anhänge ändert er es wie folgt.
dann speichert er das und zeigt mir das:Code:SELECT grouped_calls.ausgangsnummer, ( SELECT destination.name FROM destination WHERE grouped_calls.ausgangsnummer like(destination.dialcode || '%') ORDER BY char_length(destination.dialcode) DESC LIMIT 1) AS location, grouped_calls.calls_count FROM ( SELECT call_test.ausgangsnummer, count(*) AS calls_count FROM call_test GROUP BY call_test.ausgangsnummer) grouped_calls;
Warum kommentiert der mir das aus?? Ich finde den Fehler nicht.Code:CREATE OR REPLACE VIEW calls_view AS SELECT grouped_calls.ausgangsnummer, ( SELECT destination.name FROM destination WHERE grouped_calls.ausgangsnummer::text ~~ (destination.dialcode::text || '%'::text) ORDER BY char_length(destination.dialcode::text) DESC LIMIT 1) AS "location", grouped_calls.calls_count FROM ( SELECT call_test.ausgangsnummer, count(*) AS calls_count FROM call_test GROUP BY call_test.ausgangsnummer) grouped_calls;
Gruß BoOnOdY
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Was ist denn da auskommentiert?
Die ~~ stehen für einen Regexp Vergleich.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
achso, sorry,![]()
aber irgendwie macht der das mit location trozdem nicht, dann stimmt wohl was anderes nicht.
Was macht das Programm eurer Meinung nach? Nur damit ich ma wieder Überblick bekomme. Seh nämlich im Moment nicht, warum der mir die location nicht anzeigt ...
das "%" ist doch in SQL auch ein Platzhalter, oder?
Also es sagt, dass Dialcode+irgendwelche anderen zahlen dér Vergleichsoperator ist?
Geändert von BoOnOdY (02.01.2007 um 12:33 Uhr)
Weiss ja nicht mal richtig, was du erreichen möchtest.
Funktioniert denn der Query, wenn du ihn ohne View absetzt? Liefert der Subselect das von dir gewünschte Ergebnis, wenn du ihn einzeln ausführst?
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Also jetzt nur der Vergleich, weil der Rest ist ja eigentlich egal:
Der vergleich soll 2 Tabellen nehmen und gucken
ob irgendwo in der Tabelle Destination in der Spalte Dialcode eine Nummer ist, die genau dem Anfang von dem Datensatz aus der Tabelle Call_test und der Spalte Ausgangsnummer ist.
Also die Herkunft eines Anrufes identifizieren.
Und funktioniert dieser Vergleich, wenn du ihn einzeln ausführst, mit deinen Testdaten?
Hast du Umstände wie nationale/internationale Vorwahlen beachtet?
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Also ich teste im Moment diese Funktion
da bekomm ich aber nie was ausgegeben....Code:SELECT name, ausgangsnummer FROM destination,call_test WHERE call_test.ausgangsnummer like (destination.dialcode||'%') ORDER BY char_length(destination.dialcode) DESC LIMIT 1;
Die Vorwahl stimmt schon, aber war ne gute Idee.
Also ich vergleiche die Nummer die ich bekommen habe mit der Destinationsvorwahl... und bekomm nie was ausgegeben.
Hab auch ma die Logig ein bisschen umgebaut, aber bekomm nichts ausgegeben... ist in der Abfrage irgend ein Denkfehler?
Was für Gründe kann es haben wenn der nichts ausgibt? Außer das er keine Ergebnisse hat?
Geändert von BoOnOdY (02.01.2007 um 13:24 Uhr)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Hy,
es ist in der tat ein varchar.. ich werde es mal ändern und noch mal probieren
vielen Dank schon ma![]()
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen