Alias addieren
Moderator: Moderatoren
Alias addieren
Hallo zusammen,
ich habe drei Abfragen mit dem Alias s1,s2,s3 diese drei Werte möchten ich gerne addieren in einen vierten Alias gsp, habe schon alles versucht meiner Meinung nach, ich kriege es einfach nicht geregelt. Wäre für einen Hinweis dankbar.
LG Hans Dieter
ich habe drei Abfragen mit dem Alias s1,s2,s3 diese drei Werte möchten ich gerne addieren in einen vierten Alias gsp, habe schon alles versucht meiner Meinung nach, ich kriege es einfach nicht geregelt. Wäre für einen Hinweis dankbar.
LG Hans Dieter
Re: Alias addieren
Hallo Hans-Dieter,
Da Du den Code dazu nicht nennst hier nur ein allgemeiner Hinweis:
Bei einer Abfrage kannst Du Feldern einen Alias zuordnen. Dieser Alias ist aber nicht für die anderen Felder der Abfrage auslesbar. Der Alias kann erst für Anweisungen genutzt werden, die nach der Bezeichnung der Felder, also dem FROM kommt.
Poste doch einfach einmal etwas Code ...
Gruß
Robert
Da Du den Code dazu nicht nennst hier nur ein allgemeiner Hinweis:
Bei einer Abfrage kannst Du Feldern einen Alias zuordnen. Dieser Alias ist aber nicht für die anderen Felder der Abfrage auslesbar. Der Alias kann erst für Anweisungen genutzt werden, die nach der Bezeichnung der Felder, also dem FROM kommt.
Poste doch einfach einmal etwas Code ...
Gruß
Robert
Re: Alias addieren
Hallo,
ich verstehe die Frage nicht. Was meinst du mit "Alias addieren"?
In einer Abfrage von einer Tabelle ist der Alias der Name den du für eine Spalte der Abfrage vergibst, also etwa:Hier ist der Spaltenname der aus NACHNAME, VORNAME zusammengesetzten Spalte eben NAME, der Alias für die zusammengesetzte Spalte.
Sieht dann so aus: Lade ein Beispieldokument hoch, oder erkläre besser, was du erreichen möchtest.
Gruß R
ich verstehe die Frage nicht. Was meinst du mit "Alias addieren"?
In einer Abfrage von einer Tabelle ist der Alias der Name den du für eine Spalte der Abfrage vergibst, also etwa:
Code: Alles auswählen
SELECT "NACHNAME", "VORNAME", "NACHNAME"||', '||"VORNAME" AS "NAME" FROM "Adressen"
Sieht dann so aus: Lade ein Beispieldokument hoch, oder erkläre besser, was du erreichen möchtest.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Alias addieren
Hallo, danke für das schnelle reagieren.
ich habe die ganze DB angehängt. finden Abfragen EZP1 bis EZP3 möchte ich die Aliase addieren zum Gesamtpreis. Ich hoffe das ist möglich.
FGN.odb
ich habe die ganze DB angehängt. finden Abfragen EZP1 bis EZP3 möchte ich die Aliase addieren zum Gesamtpreis. Ich hoffe das ist möglich.
FGN.odb
Re: Alias addieren
... kann keine DB finden???
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Alias addieren
Hallo,
das ist der code
SELECT "Auftrag"."M1", "Auftrag"."EZP1", "Auftrag"."M2", "Auftrag"."EZP2", "Auftrag"."M3", "Auftrag"."EZP3", "M1" * "EZP1" + "M2" * "EZP2" + "M3" * "EZP3" AS "gsp" FROM "Auftrag", "Kunden Adressen" WHERE "Auftrag"."FSK" = "Kunden Adressen"."ID1"
ich hoffe es kann mir jemand helfen. danke
LG Hans Dieter Hahn
das ist der code
SELECT "Auftrag"."M1", "Auftrag"."EZP1", "Auftrag"."M2", "Auftrag"."EZP2", "Auftrag"."M3", "Auftrag"."EZP3", "M1" * "EZP1" + "M2" * "EZP2" + "M3" * "EZP3" AS "gsp" FROM "Auftrag", "Kunden Adressen" WHERE "Auftrag"."FSK" = "Kunden Adressen"."ID1"
ich hoffe es kann mir jemand helfen. danke
LG Hans Dieter Hahn
Re: Alias addieren
Moin,
der Code ist richtig, kann es sein, dass deine Tabellenspalten keine Zahlen enthalten, dass du sie z.B. als VARCHAR definiert hast?
Mit Text kann man nicht rechnen. Lade die DB doch hoch, wenn sie zu groß ist, kannst du probieren, ob du sie mit folgendem Befehlausgeführt über Extras/SQL... und anschliessendes komplettes Schließen von OpenOffice komprimieren kannst.
Gruß R
der Code ist richtig, kann es sein, dass deine Tabellenspalten keine Zahlen enthalten, dass du sie z.B. als VARCHAR definiert hast?
Mit Text kann man nicht rechnen. Lade die DB doch hoch, wenn sie zu groß ist, kannst du probieren, ob du sie mit folgendem Befehl
Code: Alles auswählen
CHECKPOINT DEFRAG
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Alias addieren
1. Bei der eingebauten DB laß das as fort. Einfach das Alias in Anführungszeichen, dann wieder das Komma.
2. Nimm nicht das Alias beim Rechnen, sondern den kompletten Feldnamen wie zuvor
3. Müßte der Code nicht heißen (mit AS, wenns erforderlich ist):
SELECT "Auftrag"."M1", "Auftrag"."EZP1", "Auftrag"."M2", "Auftrag"."EZP2", "Auftrag"."M3", "Auftrag"."EZP3", ("Auftrag"."M1" + "Auftrag"."M2" + "Auftrag"."M3" AS "gsp") FROM "Auftrag", "Kunden Adressen" WHERE "Auftrag"."FSK" = "Kunden Adressen"."ID1"
2. Nimm nicht das Alias beim Rechnen, sondern den kompletten Feldnamen wie zuvor
3. Müßte der Code nicht heißen (mit AS, wenns erforderlich ist):
SELECT "Auftrag"."M1", "Auftrag"."EZP1", "Auftrag"."M2", "Auftrag"."EZP2", "Auftrag"."M3", "Auftrag"."EZP3", ("Auftrag"."M1" + "Auftrag"."M2" + "Auftrag"."M3" AS "gsp") FROM "Auftrag", "Kunden Adressen" WHERE "Auftrag"."FSK" = "Kunden Adressen"."ID1"
win11 - Avira - LO 7.6.6.3 (X86_64) - AOO 4.1.15
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Alias addieren
Hallo quotsi,
nein alles richtig, zumindest bei mir funktioniert die Abfrage: ... wenn die Spalten M1 bis EZP3 als ZAHLEN definiert sind. Ich habe für M... INTEGER und EZP... DECIMAL(10,2) gewählt
Gruß R
nein alles richtig, zumindest bei mir funktioniert die Abfrage: ... wenn die Spalten M1 bis EZP3 als ZAHLEN definiert sind. Ich habe für M... INTEGER und EZP... DECIMAL(10,2) gewählt
Gruß R
- Dateianhänge
-
- AK.odb
- (18.55 KiB) 186-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Alias addieren
hallo, bei mir funktioniert es auch aber sobald ich m1*EZP1+M2*EZP2 addieren will während m3 und ezp3 leer bleiben gibt es kein Ergebnis mehr.
zunächst mal danke für die schnelle Hilfe, welches Kriterium brauche ich für keine eingabe?
LG Hans Dieter Hahn
zunächst mal danke für die schnelle Hilfe, welches Kriterium brauche ich für keine eingabe?
LG Hans Dieter Hahn
Re: Alias addieren
Hallo Hans-Dieter,
Wenn eins der Ergebnisse leer ist, also NULL, dann ist das Gesamtergebnis auch NULL. Deshalb bei NULL stattdessen die Zahl '0' einsetzen. Wenn Du mit LO und Firebird arbeitest: IFNULL ist dort unbekannt, stattdessen COALESCE verwenden. Sytax ist gleich.
Gruß
Robert
Code: Alles auswählen
SELECT "Auftrag"."M1", "Auftrag"."EZP1", "Auftrag"."M2", "Auftrag"."EZP2", "Auftrag"."M3", "Auftrag"."EZP3",
IFNULL("M1" * "EZP1",0) + IFNULL("M2" * "EZP2",0) + IFNULL("M3" * "EZP3",0) AS "gsp"
FROM "Auftrag", "Kunden Adressen" WHERE "Auftrag"."FSK" = "Kunden Adressen"."ID1"
Gruß
Robert
Re: Alias addieren
Hallo, es klappt alles wunderbar vielen herzlichen Dank für eure Hilfe.
LG Hans Dieter Hahn
LG Hans Dieter Hahn
Re: Alias addieren
Noch mal ich:
Dass du math. Produkte addieren wolltest und keine einfachen Spalten, hatte ich überlesen.
ABER der direkte Aufruf der Aliasse zum Rechnen in derselben Konstruktion geht mit der eingebauten HSQLDB nicht. Da muss man (nach meiner Überprüfung) noch die Spaltennamen selber aufrufen bevor man dann dem Resultat ein Alias zuweisen kann (so wie in meinem vorigen Vorschlag).
Dass du math. Produkte addieren wolltest und keine einfachen Spalten, hatte ich überlesen.
ABER der direkte Aufruf der Aliasse zum Rechnen in derselben Konstruktion geht mit der eingebauten HSQLDB nicht. Da muss man (nach meiner Überprüfung) noch die Spaltennamen selber aufrufen bevor man dann dem Resultat ein Alias zuweisen kann (so wie in meinem vorigen Vorschlag).
win11 - Avira - LO 7.6.6.3 (X86_64) - AOO 4.1.15
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Alias addieren
hallo,
danke nochmal aber ich muß mir halt etwas anderes überlegen. Geht es eigentlich daß eine Abfrage nur einmal durchlaufen wird?
ich bekomme immer sehr grosse Tabellen bei einer einzigen Aufruf.
LG Hans Dieter Hahn
danke nochmal aber ich muß mir halt etwas anderes überlegen. Geht es eigentlich daß eine Abfrage nur einmal durchlaufen wird?
ich bekomme immer sehr grosse Tabellen bei einer einzigen Aufruf.
LG Hans Dieter Hahn
Re: Alias addieren
Moin,
was meinst du mit einmal durchlaufen?
Möchtest du nur einen Teil der Daten anzeigen, z.B. nur die Aufträge zu einer Kundennummer?
Da gibt es viele Möglichkeiten...du musst nur genauer beschreiben, was du erreichen möchtest, und, wie schon geschrieben, am Besten ein Beispieldokument hochladen.
Gruß R
was meinst du mit einmal durchlaufen?
Möchtest du nur einen Teil der Daten anzeigen, z.B. nur die Aufträge zu einer Kundennummer?
Da gibt es viele Möglichkeiten...du musst nur genauer beschreiben, was du erreichen möchtest, und, wie schon geschrieben, am Besten ein Beispieldokument hochladen.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO