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
Kommentar vom Moderator masterG am 18.05.2012 um 08:39:28 Uhr
Verschoben nach Datenbanken

SELECT Anweisung mit mehreren Bedingungen

Frage Entwicklung Datenbanken

Mitglied: zapatista

zapatista (Level 1) - Jetzt verbinden

16.05.2012, aktualisiert 18.05.2012, 2894 Aufrufe, 10 Kommentare

Hallo zusammen,

ich benötige von Euch Hilfe bei der Erstellung einer SELECT-Abfrage (mySQL) mit mehreren Bedingungen:

Tabelle1 (Gruppen)

person_id project_position_id
(41) (3)

Tabelle2 (Personen)

id user_id
(41) Globale Variable

Klammerwerte sind nicht bekannt. Die user_id erhalte ich durch ein Skript [userid] - für die WHERE-Bedingung.

Also das Ziel ist jetzt den Wert "3" mit der angemeldeten [userid] zu bekommen. Fiktiv ist hier die Person mit der id=41 angegeben. Ich hoffe ich konnte das Problem einigermaßen verständlich beschreiben.

Vielen Dank im Voraus.

Christian
Mitglied: Dirmhirn
16.05.2012 um 16:37 Uhr
Hi!

du suchst einen JOIN. damit verknüpfst du die beiden Tabellen temporär und suchst dann die Zeilen mit user_id = irgendwas.

sg Dirm
Bitte warten ..
Mitglied: zapatista
16.05.2012 um 16:54 Uhr
Kannst du mir vielleicht eine kurze Gedächtnisstütze geben, wie hier der JOIN zu setzen ist. Das wäre super.
Bitte warten ..
Mitglied: Dirmhirn
16.05.2012 um 17:19 Uhr
Hi!
so in etwa:
01.
SELECT 
02.
FROM Tabelle1 JOIN Tabelle2 ON id = person_id  
03.
WHERE user_id = 'kunz'
LEFT, Right ... sieh dir dann lieber selber an, weiß ja nicht wie das rundherum bei dir aussieht:
http://dev.mysql.com/doc/refman/5.1/de/join.html

sg Dirm
Bitte warten ..
Mitglied: filippg
16.05.2012 um 20:27 Uhr
Hallo,

mein Tipp: investiere 30 Minuten und lies dir http://www.administrator.de/index.php?link=1006 durch. Danach bist du wirklich schlauer.

Gruß

Filipp
Bitte warten ..
Mitglied: zapatista
16.05.2012 um 21:17 Uhr
Danke für eure Tipps. Aber ich bekomme es nicht gebacken. Vielleicht liegts am Feierabendbier.

Also ich habe da folgendes mir ausgedacht - nach der Doku über Relationale Datenbanken:

01.
SELECT #__Tabelle1.project_position_id  
02.
FROM #__Tabelle1 
03.
INNER JOIN #__Tabelle2 ON (#__Tabelle1.person_id = #__Tabelle2.id) 
04.
WHERE #__Tabelle2.user_id = [userid]
Leider liefer er kein Ergebnis
Bitte warten ..
Mitglied: nxclass
16.05.2012 um 23:24 Uhr
Leider liefer er kein Ergebnis
versuch mal:
01.
SELECT 
02.
  `Personen`.`id`, 
03.
  `Personen`.`user_id`, 
04.
  `Gruppen`.`project_position_id` 
05.
FROM `Personen` 
06.
  LEFT JOIN `Gruppen` ON `Gruppen`.`person_id` = `Personen`.`id` 
07.
WHERE 
08.
   `Personen`.`user_id` = ?  /* oder $userid oder 3 */
... so kannst Du jedenfalls erkennen: wenn Person existiert aber keine Gruppen dazu.
Bitte warten ..
Mitglied: zapatista
18.05.2012 um 21:05 Uhr
Das klappt schon mal ganz gut jetzt.

Mal ins Blaue gefragt: Wie sieht das bei der entgegengesetzten UPDATE-Variante aus? Arbeitet man da auch mit JOIN oder gibts da andere Verknüpfungen?

Danke schonmal...
Bitte warten ..
Mitglied: nxclass
18.05.2012 um 23:54 Uhr
Arbeitet man da auch mit JOIN
... natürlich kann man bei einem UPDATE auch Tabellen Verknüpfen - aber manipuliert werden nur die Daten einer Tabelle.
Bitte warten ..
Mitglied: filippg
19.05.2012 um 03:38 Uhr
... natürlich kann man bei einem UPDATE auch Tabellen Verknüpfen - aber manipuliert werden nur > die Daten einer Tabelle.
Ähhh.. Wieso? Meines bescheidenen Wissens: genau so, wie man bei einem SELECT...JOIN mehrere Zellen aus mehreren Tabellen angeben kann, die selektiert werden, kann man bei einem UPDATE...JOIN mehrere Zellen aus mehreren Tabellen angeben, die aktualisiert werden.

Gruß

Filipp
Bitte warten ..
Mitglied: nxclass
19.05.2012 um 12:31 Uhr
mehrere Zellen aus mehreren Tabellen angeben, die aktualisiert werden.
das stimmt für MySQL 5. (ggf auch schon ab einer höheren 4er Version von MySQL)
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel: Zählenwenn mit mehreren Bedingungen
Frage von VancouveronaMicrosoft Office1 Kommentar

Hi, ich bräuchte eine Zählenwenn Funktion, die mehrere Bedingungen auswertet. Geht das inzwischen mit Office 2012/2013? Oder muß ich ...

Visual Studio
Mehrere Zellen in VB ansprechen mit einer Anweisung
gelöst Frage von peterchen1976Visual Studio8 Kommentare

Hallo, ich habe ein Problem mit folgender Formel: " If Not zelle Is Nothing Then If zelle.Address = ("$C$15") ...

VB for Applications
Power Shell mehr als 1 Bedingung
Frage von HansWurstAugustVB for Applications9 Kommentare

Hi, mache gerade zum ersten mal PowerShell. Wenn ich eine Filterbedingung angebe, ist alles gut, muss aber leider 2 ...

Batch & Shell
Powershell If Statement mit mehreren Bedingungen
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo, ich möchte ein If Statement nutzen um zu prüfen, ob mehrere Arrays leer sind. Das scheinbare Problem ist ...

Neue Wissensbeiträge
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 40 MinutenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...