![]() |
Datenbank: mySQL • Version: 5.0 • Zugriff über: myDAC
SQL-Abfrage - mehrfach-count(*) ?
Hallo...
mit folgender Abfrage ermittel ich die Anzahl Installationen:
SQL-Code:
Nun gibt es ja mittlerweile Lizenzformen, wo je Prozessor eine Lizenz benötigt wird :gruebel: ...
select count(*) from pc
where s_sqlserver='2005EE' and art in ('S','ES'); Kann ich in einer Abfrage - abhängig vom Eintrag (hier s_sqlserver z.B. "2005 2-Proz.") das count-Ergebnis bereits in der Abfrage multiplizieren, da ich in der gesamten Abfrage gleich mehrere Einträge abfragen will? Ich hoffe ich hab mich verständlich ausgedrückt. Dank und Gruß Uwe |
Re: SQL-Abfrage - mehrfach-count(*) ?
SQL-Code:
CASE..WHEN
|
Re: SQL-Abfrage - mehrfach-count(*) ?
...wegen nicht Beachtung gelöscht.
|
Re: SQL-Abfrage - mehrfach-count(*) ?
also z.Bs. so:
SQL-Code:
ergibt die Anzahl der nötigen Lizenzen ...
select sum(case when s_sqlserver='2005-1Proz' then 1 else 0 end)+
sum(case when s_sqlserver='2005-2Proz' then 2 else 0 end) as ergebnis from pc; gibt es da eventuell noch einfachere Lösungen? Gruß Uwe |
Re: SQL-Abfrage - mehrfach-count(*) ?
Gibt es noch andere Varianten?
|
Re: SQL-Abfrage - mehrfach-count(*) ?
Eine Spalte mit Lizenzanzahl in die Tabelle aufnehmen und dann mit dieser multiplizieren.
|
Re: SQL-Abfrage - mehrfach-count(*) ?
Zitat:
Zitat:
werd ich aber sicher trotzdem künftig vorsehen (Lizenzierung wird ja immmer undurchsichtiger :? ) Gruß Uwe |
Re: SQL-Abfrage - mehrfach-count(*) ?
Hallo Uwe,
hilft Dir das weiter?
SQL-Code:
Stephan
select
sum( case when s_sqlserver='2005-1Proz' then 1 when s_sqlserver='2005-2Proz' then 2 when s_sqlserver='2005-3Proz' then 3 when s_sqlserver='2005-4Proz' then 4 else 0 end ) As Ergebnis from pc |
Re: SQL-Abfrage - mehrfach-count(*) ?
Ich habe es jetzt so:
SQL-Code:
... da als Ergebnis das Feld "count(*) erwartet wird (wie bei den einfachen Abfragen)
select
sum( case when s_sqlserver='S08 SQL Server 2005 (1 Proz-Lizenz) Standard' then 1 when s_sqlserver='S09 SQL Server 2005 (2 Proz-Lizenz) Standard' then 2 when s_sqlserver='S10 SQL Server 2005 (4 Proz-Lizenz) Standard' then 4 else 0 end ) As "count(*)" from pc klappt auch im Query-Browser, nur im Programm bekomme ich Fehler, da als Ergebnis ein LargeInt erwartet wird, ein Float aber zurückkommt... an welcher Stelle kann ich das konvertieren? :thumb: Dank an alle die hier helfen ... |
Re: SQL-Abfrage - mehrfach-count(*) ?
SQL-Code:
Cast( sum(
... ) As integer) ) as "count(*)" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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