![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: database workbench
select count(*) für computed feld? wie angeben?
Hallo, ich würde gerne in einer Tabelle ein errechnetes Feld erstellen, das für jeden Datensatz die Anzahl der Datensätze in einer anderen Tabelle, die die id von diesem Datensatz als Fremdschlüssel haben, enthält.
So geht es nicht:
SQL-Code:
Da kommt die Fehlermeldung:
alter table interpret
add Titelzahl COMPUTED select Count(*) from Musik where Musik.IP_id = interpret.id; ISC ERROR MESSAGE: Dynamic SQL Error SQL error code = -104 Token unknown - line 3, column 10 select |
AW: select count(*) für computed feld? wie angeben?
Versuch mal
SQL-Code:
alter table interpret
add Titelzahl COMPUTED BY ( select Count(*) from Musik where Musik.IP_id = interpret.id); |
AW: select count(*) für computed feld? wie angeben?
Hi,
um ein SubSelect - Statement muss man immer noch die Klammern drumrummachen... Frank [EDIT] also:
SQL-Code:
[/EDIT]
COMPUTED BY ((select Count(*) from musik
where musik.ip_id = id)); |
AW: select count(*) für computed feld? wie angeben?
Danke, so geht es.
Und er braucht tatsächlich zwei öffnende und zwei schliessende Klammern, mit jeweils nur einer Klammer kommt die gleiche Fehlermeldung. |
AW: select count(*) für computed feld? wie angeben?
Liste der Anhänge anzeigen (Anzahl: 1)
Leider zu früh gefreut.
Das Erstellen des Feldes ist zwar erfolgt, aber es berechnet mir generell nur 0 |
AW: select count(*) für computed feld? wie angeben?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Frank |
AW: select count(*) für computed feld? wie angeben?
Zwar bezieht sich das SQL-Kode auf MS-SQL aber dennoch:
Ich würde so ein View erstellen:
SQL-Code:
select * from
( select p.parentId, childCount = ( select Count(c.childId) from CHILD c where p.parentId = c.parentId ), children = STUFF ( ( select ', ' + convert(varchar(10), c.childId) from CHILD c where p.parentId = c.parentId order by c.childId desc for xml path('') ) , 1, 2, '' ) from PARENT p ) as tmp where tmp.children is not null ---- P.S. Wie setzte ich SQL-BB-Code Tags ? ([SQL][/SQL] geht nicht) |
AW: select count(*) für computed feld? wie angeben?
Zitat:
|
AW: select count(*) für computed feld? wie angeben?
Danke für den Tipp, vielleicht klappt es mit einer View - Aber firebird unterstützt berechnete Felder (behaupten sie zumindest), und die sollten ja dann auch irgendwie funktionieren. Ich kenne mich da eben noch zu wenig aus, und ich erkenne bei der Definition des berechneten Feldes keinen Fehler - es muss aber doch wohl irgend etwas falsch sein?
Mir geht es hier weniger um einen "Workaround" für das konkrete Problem, sondern ich will lernen, mit man mit dem Ding richtig umgeht - hier eben wie die Definition des berechneten Feldes aussehen müsste, damit es tut, was ich mir vorstelle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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