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

Gibt es dafür einen MySQL Befehl?

Frage Entwicklung Datenbanken

Mitglied: Letavino

Letavino (Level 1) - Jetzt verbinden

03.11.2010, aktualisiert 11:47 Uhr, 3547 Aufrufe, 13 Kommentare

Hallo, ich komme bei einem speziellen Problem leider nicht weiter und hoffe, ihr könnt mir helfen!

Ich schreibe eine Seite in php mit MySQL Datenbank.
Nun bräuchte ich einen Befehl, der etwa so aussehen müsste:

Wenn in Spalte "a" ein bestimmter Wert steht, guck was in Spalte "b" steht und gib alle Datenreihen aus, die in Spalte "b" den gleichen Wert wie das vorherige "b" haben.

Mit zwei sql Abfragen müsste ich es hinbekommen:

Select 'b' Where 'a' = wert
Select * Where b = erstes ergebnis

Aber da ich noch im lernen bin, würde es mich interessieren, ob man das ganze auch in einer Abfrage unterbringen kann.
(wahrscheinlich wieder ein kleiner Trick, der mir vorher nicht bekannt war ;) )

Lg, Florian
Mitglied: Balu90
03.11.2010 um 11:17 Uhr
SELECT * FROM DATENBANK WHERE DATENBANK.A = [WERT] AND DATENBANK.B = DATENBANK.A

Kann dir leider keine Garantie auf Richtigkeit gaben, weil ich mich in SQL nicht richtig auskenne. So würde ich es mit einer FoxPro Datenbank machen, die auch auf SQL Befehlen basiert.

lg

Balu
Bitte warten ..
Mitglied: em-pie
03.11.2010 um 11:21 Uhr
Moin,
in der Hoffnung, dass ich dich richtig verstanden habe:

Sinniger wäre doch
Select * from DB where a=Wert AND b=Wert

Er sollte dir jetzt alles ausspucken, was in Spalte a und b den selben Wert hat

gruß
meistro
Bitte warten ..
Mitglied: Letavino
03.11.2010 um 11:24 Uhr
Danke schonmal für die Antwort!

Aber, wenn ich "WHERE DATENBANK.A = [WERT]" schreibe,
kommen als Ergebnis ja nur solche Datenreihen, die diesen Wert in der Datenbank 'a' stehen haben., oder nicht?
Ich hätte aber auch gerne alle Datenreihen, bei denen der Wert b mit dieser Reihe übereinstimmt.

Lg
Bitte warten ..
Mitglied: Balu90
03.11.2010 um 11:27 Uhr
Zitat von Letavino:
Danke schonmal für die Antwort!

Aber, wenn ich "WHERE DATENBANK.A = [WERT]" schreibe,
kommen als Ergebnis ja nur solche Datenreihen, die diesen Wert in der Datenbank 'a' stehen haben., oder nicht?
Ich hätte aber auch gerne alle Datenreihen, bei denen der Wert b mit dieser Reihe übereinstimmt.

Lg

Das ist ein verknüpfter Ausdruck...

WHERE DATENBANK.A = [WERT] AND DATENBANK.B = DATENBANK.A

Nur wenn beide Bedingungen erfüllt sind wir der Datensatz selektiert.
Bitte warten ..
Mitglied: Letavino
03.11.2010 um 11:42 Uhr
Ich sehe, ich habe mich da doch recht undeutlich ausgedrückt.
Daher ein kleines Beispiel:

Datensatz 1:
a = 1
b = 2

Datensatz 2:
a = 4
b = 3

Datensatz 3:
a= 3
b= 2

Wenn mein Wert für 'a' nun 1 ist, findet man diesen ja in Datensatz 1.
Nun soll jeder Datensatz ausgegeben werden, bei dem der Wert für 'b' mit dem 'b' in Datensatz 1 übereinstimmt.
Also wird nicht nur Datensatz 1 ausgegeben, wie es bei "where a = wert" der fall wäre, sondern in diesem Fall würde Datensatz 1 UND Datensatz 3 ausgegeben.
(Kann ja auch sein, dass man sowas garnicht in eine Abfrage packen kann...)

Ich hoffe, das war etwas verstänlicher.

Lg
Bitte warten ..
Mitglied: Balu90
03.11.2010 um 11:57 Uhr
Hmm ich verstehe dein Problem, aber da fällt mir leider nichts ein, wie man das lösen könnte ... :/
Bitte warten ..
Mitglied: gnbosse
03.11.2010 um 12:24 Uhr
Am einfachsten geht es mit einer verschachtelten Abfrage:
SELECT * FROM Tabellenname where b = (SELECT b from Tabellenname where a='BESTIMMTERWERT')

|"""""Datenbank""""""" |
| |""Tabellenname"""| |
| | |"""""a""""|""""b"""""| | |
| | |----0-----|----1-----| | |
| | |----1-----|----2-----| | |
| | |----2-----|----3-----| | |
| | |----3-----|----1-----| | |


Ausgabe:

|a|b|
|0|1|
|3|1|


Getestet und läuft

MfG
Bitte warten ..
Mitglied: Letavino
03.11.2010 um 13:04 Uhr
ok, das funktioniert soweit schon ganz gut, vielen Dank!!
Das einzige Problem, das ich jetzt noch habe ist, dass es bisher nur zu funktionieren scheint, wenn 'a' nur einmal vorkommt.

also:

| Datenbank |
| | Tabellenname | |
| | | a | b | | |
| | | 0 | 1 | | |
| | | 1 | 2 | | |
| | | 2 | 3 | | |
| | | 3 | 1 | | |

| | | 0 | 2 | | |

Ausgabe bei a = 0:

|a|b|
|0|1|
|3|1|

|0|2|
|1|2|

Scheint noch nicht zu gehen.
Kann man das ganze dahingehend erweitern?
Oder müsste man sich da was ganz neues überlegen?

Lg
Bitte warten ..
Mitglied: gnbosse
03.11.2010 um 13:12 Uhr
Damit ich das richtig verstehe,

du hast in der Tabelle jetzt die angenommenen Werte:
| a | b |
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
| 3 | 1 |
| 0 | 2 |

Der Eingabewert bleint bei '0' und du möchtest in dem Falle die Ausgabe:
| a | b |
| 0 | 1 |
| 3 | 1 |
| 0 | 2 | <- Oder hierzu dann auch alle Datensätze bei denen b=2 ist?

Oder liege ich mit der Annahme daneben?

MfG
Bitte warten ..
Mitglied: Letavino
03.11.2010 um 13:18 Uhr
Die Ausgabedaten sollten dann:

| a | b |
| 0 | 1 |
| 3 | 1 |
| 0 | 2 |
| 1 | 2 |

sein.

Also, wie deine vorgeschlagene Abfrage, nur dass alle 'a' mit dem wert 0 berücksichtigt werden sollen und nicht nur eins.
Ich hoffe, das ist einigermaßen verständlich.

Lg

Ps:
"Oder hierzu dann auch alle Datensätze bei denen b=2 ist?"

Genau so.
Bitte warten ..
Mitglied: gnbosse
03.11.2010 um 13:31 Uhr
Dann sollten 3 hinzugefügte Buchstaben reichen um den Zweck zu erfüllen:
SELECT * FROM Tabellenname WHERE b=ANY(SELECT b FROM Tabellenname WHERE a='EINGABEWERT') ORDER BY b

mit dem ORDER BY sieht das dann genau so aus, wie du es möchtest, hoff ich :D
MfG
Bitte warten ..
Mitglied: Letavino
03.11.2010 um 13:45 Uhr
Klappt nun alles genauso, wie es soll.
Da hat doch doch wieder einmal was gelernt ^^

Vielen Herzlichen Dank!

Lg
Bitte warten ..
Mitglied: gnbosse
03.11.2010 um 13:52 Uhr
Keine Ursache, freut mich das ich helfen konnte.
Weiterhin viel Erfolg mit deiner Seite!

MfG
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Mysql Select Befehl über 3 Tabellen?
gelöst Frage von rdklieDatenbanken6 Kommentare

Guten Tag zusammen! Ich habe eine kleine Frage bezüglich Mysql. Zur Fragestellung: Die Frage wäre "Welche Mitglieder organisieren Veranstaltungen ...

Visual Studio
MySql Befehl mittels vbs funktioniert nur dann wenn ich keine Befehle mit angebe. Was mache ich Falsch?
Frage von iGordonVisual Studio12 Kommentare

Hallo, ich habe ein Problem mit einem vbs Skript das ich derzeit am Programmieren bin. Ich bin derzeit dabei ...

Datenbanken
MySQL Profiler - MySQL Profiling
Frage von fckoelleDatenbanken

Hallo zusammen, ich möchte zu Analysezwecken gerne herausfinden welche Befehle auf einen MySQL Server abgesetzt werden. Von Microsoft kenne ...

LAN, WAN, Wireless
Gibts da auch was von Cisco?
Frage von VancouveronaLAN, WAN, Wireless5 Kommentare

Hallo zusammen, ich brauche für einen unsrer Standorte mehrere Access Points (ca. 6-8), um dort ein leistungsfähiges W-LAN aufzubauen ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 104 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell16 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Hardware
Fujitsu Workstation mit K80 und Quadro P5000, Fehlermeldung: Connect Power Adapter
Frage von MachelloHardware7 Kommentare

Hallo Zusammen, ich benötige euren Rat da ich ratlos bin. Folgende Konfiguration im Büro: Fujitsu Workstation Celcius R940 Power ...