myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [MYSQL] Abfrage - Brauche hilfe (https://mygully.com/showthread.php?t=2579300)

Liike 26.02.12 15:28

[MYSQL] Abfrage - Brauche hilfe
 
Hey Leute ich hab ein Problem und zwar habe ich eine MySql datenbank per kommandozentrale geschrieben (Mitarbeiterliste usw) jetzt möchte ich NUR die Mitarbeiter ausgeben die eine ungerade Angstelltennummer haben. Mit welchem Befehl kann ich sowas erreichen?

meine Datenbank heißt: auftragsverwaltung
Angestellten Tabelle: emp
angestelltennr: empno


ich habe irgendwie gedacht:

Zitat:

SELECT * FROM emp WHERE empno =


kann ich das so machen oder muss ich da anders ran gehen?

Traeumer0069 26.02.12 15:28

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Liike 26.02.12 15:53

Kannst ud mir dazu ein Beispiel geben? Ich steig da nicht ganz durch die seite hatte ich vorher auch schon offen und ich würde hier nicht fragen wenn ich es mit einem link aufeinmal alleine kann :/

Thelvan 26.02.12 15:59

Da sind doch sogar beispiele dabei, das ist eine Funktion, diese hat 2 Parameter:
- Deine Zahl
- Die Zahl durch die sie geteilt wird
Als Rückgabewert hast du den Rest.
Und jetzt musst du dir überlegen, durch welche Zahl du deine Empno teilen musst und welchen rest du erwartest, damit es eine gerade Zahl ist.

Liike 26.02.12 16:09

Also folgendes ich habe diese Tabelle:

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

Nun möchte ich davon die Mitarbeiter ausgeben deren EMPNO eine Ungerade Zahl ist.

Zitat:

Zitat von Thelvan
- Deine Zahl

Was ist denn meine Zahl da? :o
Zitat:

Zitat von Thelvan
- Die Zahl durch sie geteilt wird

Kannst du mir das vllt mit dem Bild näher erläutern?

spartan-b292 26.02.12 16:55

Du willst die Empno überprüfen dass ist deine Ausgangszahl.

Diese teilst du durch 2. Also Empno%2 (Empno mod 2) wenn das Ergebnis dieser Rechnung == 0 ist ist die Zahl gerade, wenn das Ergebnis != 0 ist ist die Zahl ungerade.

tanjian 26.02.12 16:57

Also, du willst alle Einträge, deren EMPNO ungerade ist.
Die funktion, die Traeumer0069 dir genannt hat, liefert dir für eine gegebene Division den Rest (auch Modulo genannt), sprich, wenn du als Divisor die 2 nimmst, hast du bei geraden Zahlen keinen Rest, bei ungeraden Zahlen hast du einen Rest. An deinem Beispiel:

7521 % 2 = 1 (ist ungerade, ergibt Rest)
7566 % 2 = 0 (ist gerade, ergibt keinen Rest)

Liike 26.02.12 17:07

SELECT * FROM emp WHERE MOD(empno, 2)

hat jetzt den gewünschten effekt gebracht! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.