Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Abfrage mit bedingung?

Frage Entwicklung Datenbanken

Mitglied: DerParte

DerParte (Level 1) - Jetzt verbinden

09.04.2010 um 16:37 Uhr, 2835 Aufrufe, 5 Kommentare

Hallo.

Ich habe eine Datenbank mit mehreren Tabellen. Nun möchte ich gerne eine Abfrage erstellen.

Tabelle A sieht wie folgt aus:

Name: Mitarbeiter
MitarbeiterID (PS)
Name
Vorname
Titel (FS)
Funknummer
Einsatzort (FS)

Tabelle B sieht so aus:
Name: Einsatzort
EinsatzortID (PS)
Einsatzort

Nun möchte ich gerne eine Abfrage nachdem Einsatzort erstellen. Wie mache ich das?
Dabei möchte ich gerne Name und Titel zusammen fassen.

Die ausgabe soll wie folgt aussehen:
Dr. Mustermann | Max | 123456
Test | Probe | 552255

hier soll wenn möglich eine bedingung zum tragen kommen. Wenn Titel vorhanden; dann Titel+Leerzeichen+Name;sonst Name
Ist soetwas möglich?
(Ich arbeite in access lieber mit den sql befehlen falls das für die lösung besser geeignet ist.)
Mitglied: matze2010
09.04.2010 um 16:50 Uhr
Zitat von DerParte:
Hallo.

Ich habe eine Datenbank mit mehreren Tabellen. Nun möchte ich gerne eine Abfrage erstellen.

Welches DBMS? Welche Abfragesprache, welches Dialekt?

Tabelle A sieht wie folgt aus:

[Tabellendefinition]

Tabelle B sieht so aus:
[Tabellendefinition]

Nun möchte ich gerne eine Abfrage nachdem Einsatzort erstellen. Wie mache ich das?

SQL99:
SELECT Einsatzort WHERE Einsatzort='SUCHWERT'
oder
SELECT Einsatzort WHERE EinsatzortID='SUCHWERT'

Dabei möchte ich gerne Name und Titel zusammen fassen.

SELECT CONCAT(Titel, Name) ....
oder mit MSSQL
SELECT Titel + + Name ....

hier soll wenn möglich eine bedingung zum tragen kommen. Wenn Titel vorhanden; dann Titel+Leerzeichen+Name;sonst Name
Wenn Titel leer ist, dann steht nur der Name drin. Im Zweifel (wenn sie überhaupt ankommen) am Anfang und am Ende Leerzeichen löschen.

Ist soetwas möglich?
(Ich arbeite in access lieber mit den sql befehlen falls das für die lösung besser geeignet ist.)
Keine Ahnung.

Lg
Matze
Bitte warten ..
Mitglied: Biber
09.04.2010 um 17:06 Uhr
Moin DerParte,

kann deine Frage nur teilweise interpretieren.
Versuchte Antwort wäre in etwa [##edit: wenn es denn um Access geht?!? /edit##]:

01.
SELECT IIF(m.Titel is null, m.Name, m.Titel & " " & m.Name) as Name, m.vorname, e.Einsatzort  
02.
FROM Mitarbeiter m,  Einsatzorte e 
03.
WHERE m.EinsatzortId = e.einsatzortID 
04.
AND e.EinsatzortID in (11, 22);
.... womit diese Wenn-Titel-vorhanden-dann-sonst-Klamotte abgehandelt wäre.
Was du dagegen mit der "Bedingung" meinst, die als Wort zwar mehrfach erwähnt wird, aber ähnlich substanzlos bleibt wie eine Westerwellesche Aussenpolitik... keine Ahnung.

Ich habe es mal so interpretiert, dass du (wie ich es in der letzten Zeile der WHERE-Clause angedeutet habe) nach bestimmten EinsatzortIDs einschränken willst.
Bei mir in der Skizze '...AND e.EinsatzortID in (11, 22)'.
Könnte ebensogut lauten '....AND e.Einsatzort in ("Leverkusen", "Bielefeld")'.

Auch was denn nun diese Zahl nach dem "Max" von Mustermann bzw. dem "Probe" im 2. Tupel sein soll konnte ich nicht interpretieren.

Grüße
Biber
Bitte warten ..
Mitglied: DerParte
09.04.2010 um 17:14 Uhr
Hi.

Danke für die raschen antworten. Sry das ich das etwas misslungen beschieben habe.

Ich habe mal ein Bild gemacht wie ich mir das vorstelle:

http://www.imgbox.de/users/public/images/q23529v89.jpg
Bitte warten ..
Mitglied: Biber
09.04.2010 um 17:27 Uhr
Moin DerParte,

dann scheinst du jeweils immer nur auf EINEN Einsatzort je Abfrage einschränken zu wollen --> siehe Kommentar von Matze2010
und diese Zahl ist die Funknummer-> also ersetze das "e.Einsatzort" in meiner Gewünschte-Spalten-Beschreibung durch "m.Funknummer".

bzw. wäre dieser "Einsatzort" ja ein Parameter in der Abfrage, wenn der aus einer Dropdownliste kommen soll.

Grüße
Biber
Bitte warten ..
Mitglied: DerParte
09.04.2010 um 18:29 Uhr
Ich möchte abfragen welche Personen zurzeit alle am Einsatzort z.B. B3 eingesetzt werden. Da die Einsatzorte aber fest sind sich lediglich das Personal an den Orten ändern kann. Möchte ich quasi durch das auswahlfeld eine eingabe sparen - wenn die datenbank dann auch jemand anders benutzt der noch weniger weiss der kann da nichts falsch machen (hoffe ich zumindest).

Ich versuche die Umsetzung in Access; bisher besteht eine Excel Datei mit mehren Tabellenblättern. Die dann ständig angepasst werden müssen. Bisher erfolgt die einteilung auf diesen tabellenblättern auch nach Name sprich dem anfangsbuchstaben eine auswertung wer genau an welchen einsatzort ist war immer nur durch filtern und addieren möglich. Access bietet da schon mehr nur ich finde zu mindest tue ich mich mit der umsetzung schwer.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
For-Schleife Bedingung "nicht erfüllt" abfragen (8)

Frage von BatchNeuling zum Thema Batch & Shell ...

Datenbanken
gelöst SQL max wert in WHERE Bedingung (7)

Frage von StarMann zum Thema Datenbanken ...

Microsoft Office
gelöst Zellen mit vba verketten bis Bedingung eintritt (2)

Frage von hellas zum Thema Microsoft Office ...

Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Neue Wissensbeiträge
Viren und Trojaner

Link: Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Switche und Hubs
gelöst VLAN für Gäste WLAN einrichten über FritzBox und Switch (10)

Frage von Elo-14 zum Thema Switche und Hubs ...

Windows Server
Frage zu Server Rack (10)

Frage von rainergugus zum Thema Windows Server ...