Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Wert einem Bereich zuordnen

Mitglied: Fred666

Fred666 (Level 1) - Jetzt verbinden

11.07.2011, aktualisiert 14:46 Uhr, 2578 Aufrufe, 6 Kommentare

Eingesetzt wird Microsoft SQL2005

Hallo,

ich habe ein für euch sicher kleines, für mich leider größeres Problem!!

Ich habe eine Tabelle in der Grenzwerte eingetragen sind.Die Tabelle sieht folgender Maßen aus:

Prozent.....max_Lüftungen......Raum
10 ...................1....................2
30....................2....................2
75....................3....................2
75....................4....................2
30....................2....................4
30....................5....................4
50....................1....................6
50....................2....................6 ...etc

Zu lesen wäre das wie: Raum2: <10% --> 1 Lüfter; <30% --> 2 Lüfter; < 75% --> 3 Lüfter und >75% --> 4 Lüfter
In dieser Tabelle ist also hinterlegt, bis zu wieviel Prozent an Temp. wieviel Lüftungen laufen dürfen. Also bspw. bei 40% Temp. in Raum 2 sollen 2 Lüfter laufen usw.

Nun habe ich eine Table-Valued-Function (FC-Tabelle), die mir aus mehreren Tabellen den aktuellen Prozentwert und die aktuelle Anzahl an laufenden Lüftern zurück gibt.

akt_Prozent.....Lüftungen.......Raum
40....................1....................2
65....................2....................4
75....................3....................6

Soo ... mein genaues Problem nun: Wie könnte der SELECT-Befehl aussehen, dass mir anhand dieser 2 Tabellen (Tabelle Grenzwerte und FC-Tabelle) sowas zurückgibt:

akt_Prozent....benötigte Lüftungen.....Raum
40.........................2.........................2
65.........................5.........................4
75.........................2.........................6


Ich hoffe ich konnte das Problem einigermaßen verdeutlichen und bin dankbar über jede Hilfe!!!

Grüße Fred
Mitglied: kopie0123
11.07.2011 um 13:41 Uhr
Hey,

als Stichwort eben im Vorbeisurfen^^: JOIN

Damit kannst du 2 Tabellen verbinden, zb überall dort, wo der Grenzwert gleich ist.

Hoffe es bringt doch schonmal weiter

Gruß
Bitte warten ..
Mitglied: Fred666
11.07.2011 um 14:48 Uhr
Hi,
ja JOIN hab ich auch schon in betracht gezogen!! ... aber ich brauch doch irgendwas mit Pivot-Tabellen oder so oder nicht?!

Ich weiss halt nicht wie ich das realisiere bzw. die Abfrage erstelle!!

Grüße Fred
Bitte warten ..
Mitglied: MadMax
11.07.2011 um 14:49 Uhr
Hai Fred,

Möglichkeit 1:
01.
select	t.Raum, t.akt_Prozent, t.Lüftungen, 
02.
	(select top 1 max_Lüftungen from Grenzwerte where Raum = t.Raum and Prozent > t.akt_Prozent order by Prozent) as max_Lüftungen 
03.
from	FCTabelle t
Wenn Du auch eine ID bei Deinen Grenzwerten hast, gibt es noch die Möglichkeit 2:
01.
select	t.Raum, t.akt_Prozent, t.Lüftungen, g.max_Lüftungen 
02.
from	FCTabelle t 
03.
	left join Grenzwerte g on ID = (select top 1 ID from Grenzwerte where Raum = t.Raum and Prozent > t.akt_Prozent order by Prozent)
Beide Lösungen haben aber ein Problem: In Deiner Grenzwerttabelle ist kein Kennzeichen, ob der angegebene Grenzwert unterschritten sein muß oder ob die Anzahl Lüftungen ab diesem Grenzwert gelten. Für die Räume bekämst Du also z.B. kein Ergebnis, wenn die Prozentzahl 90 wäre. Eine ganz einfache Lösung wäre, wenn in der Tabelle der Grenzwert IMMER unterschritten sein muß. Dafür trägst Du für den Datensatz, der die maximale Anzahl Lüftungen angibt, eine utopisch hohe Prozentzahl ein, die nie erreicht wird. Z.B.
10 1 2
30 2 2
75 3 2
9999 4 2
30 2 4
9999 5 4
50 1 6
9999 2 6 ...etc

Oder eben ein Kennzeichen, daß man weiß, wie der Prozentsatz ausgewertet werden muß.

Zwar könnte ich auch eine Abfrage erstellen, die Dir auf Deinen Daten das korrekte Ergebnis liefert, aber ich glaube, die willst Du gar nicht sehen

Gruß, Mad Max
Bitte warten ..
Mitglied: Fred666
13.07.2011 um 16:42 Uhr
Hey Mad Max!

danke danke danke!!! Das ist genau das, was ich gesucht hatte!!! Ich habs mit dem ersten Lösungsweg gelöst!

Deine Bemerkung bzgl. Prozentzahl: ich habe als höchste Zahl die 100 eingegeben! Also im Prinzip spielt sich das von 0% bis 100% ab.

Ich habe das leider noch nicht testen können bei 100% aber meinst du das ist oke so?!?

Also meine Tabelle sieht nun folgender Maßen aus:
Prozent.....max_Lüftungen......Raum
10 ...................1....................2
30....................2....................2
75....................3....................2
100..................4....................2
30....................2....................4
100..................5....................4
50....................1....................6
100..................2....................6 ...etc

Also bezogen auf Raum 2: wenn kleiner 100% dann 4; kleier 75% dann 3;kleiner 30% dann 2; und kleiner 10 dann nur noch 1
Wenn also 100% dann insgesammt 4 Lüfungen.

Danke und Grüße Fred!
Bitte warten ..
Mitglied: MadMax
13.07.2011 um 20:42 Uhr
Nabend Fred,

Deine Aussage "Also im Prinzip spielt sich das von 0% bis 100% ab." deute ich so, daß es evtl. doch auch andere Werte haben kann. Ich weiß ja nicht, was das für ein Grenzwert ist, ob 100% oder mehr überhaupt sein kann. In der Grenzwerttabelle sollte jedenfalls der höchste Wert, den Du ja jetzt auf 100 gesetzt hast, mindestens um eins höher sein, als der größte zu erwartende akt_Prozent-Wert. So wie die Abfrage formuliert ist, wird nämlich bei akt_Prozent = 100 der nächst größere Grenzwert gesucht und den gibt es nicht. Wenn ein Wert von 100 oder mehr einen Fehler darstellt, kannst Du die dann natürlich erkennen, weil max_Lüftungen dann NULL ist.

Wobei ein Prozentwert von 1000 ja auch nicht weh täte oder ein Kennzeichen, daß ein Datensatz der ist, der alles höhere abdeckt.

Aber wo ich gerade so schreibe, fällt mir gerade doch noch eine einfache Lösung für Deine Daten in jetziger Form ein:
01.
select	t.Raum, t.akt_Prozent, t.Lüftungen, 
02.
	IsNull ((select top 1 max_Lüftungen from Grenzwerte where Raum = t.Raum and Prozent > t.akt_Prozent order by Prozent), 
03.
		(select top 1 max_Lüftungen from Grenzwerte where Raum = t.Raum order by Prozent desc)) as max_Lüftungen 
04.
from	FCTabelle t
Wenn kein Datensatz in der Grenzwerttabelle gefunden wird, bei dem die Prozente größer sind, wird der Datensatz mit der höchsten angegeben Prozentzahl zurückgegeben.

Gruß, Mad Max
Bitte warten ..
Mitglied: Fred666
14.07.2011 um 10:29 Uhr
Hey Mad Max!

Vielen Dank für deine Mühen und Hilfen!!
Hat jetzt alles bestens geklappt.

Danke und Grüße
Fred
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Wert sortieren . einer Sortierung zuordnen

gelöst Frage von Inge88Microsoft Office2 Kommentare

Einen schönen Guten Morgen an alle hilfeleistenden Administratoren, leider steh ich schon wieder vor einem Problemchen und kann es ...

Microsoft Office

Werte aus Spalten in Zeilen suchen und zweiten Wert zuordnen

Frage von frosch44Microsoft Office1 Kommentar

Guten Morgen, hier ist der Aprilscherzmacher :-) Heute suche ich folgende Lösung: Ich habe Spalte A mit Daten und ...

Microsoft Office

Bereich mit variablen Bereich in einer anderen Tabelle

gelöst Frage von mreskeMicrosoft Office7 Kommentare

Hallo ich stehe gerade mit folgendem Problem auf dem Schlauch und hoffe, jemand hat eine Idee: Ich möchte die ...

VB for Applications

Zuordnen von indirekt verknüpften Daten

gelöst Frage von LordXearoVB for Applications5 Kommentare

Hallo zusammen, ich könnte etwas Hilfe bei der Erstellung eines Skripts ODER einer SQL-Abfrage gebrauchen ( Falls es bereits ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 StundeWindows 10

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 4 StundenAdministrator.de Feedback8 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 21 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...