sql frage

  • Antworten:16
L3322
  • Forum-Beiträge: 467

19.09.2010, 20:50:36 via Website

Wie lautet der SQL Code, dass ich aus einer Tabelle (Noten) alle Noten von einem bestimmten Fach auslesen kann?
Die Tabelle besteht aus 2 Feldern fach und note!
in Fach kann alles mögliche stehen! z.b. Deutsch etc.
in Note kann alles von 1-6 stehen!ich möchte alle Noten nur von dem Fach Deutsch!

"select note FROM Noten ..."

Wie gehts weiter? Entschuldigung ich bin noch nicht so vertraut mit SQL!

"Hard work beats talent, when talent fails to work hard"

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

19.09.2010, 21:01:12 via Website

1Wie gehts weiter? Entschuldigung ich bin noch nicht so vertraut mit SQL!

Das ist doch kein problem, dafür gibts ja schliesslich Bücher oder das Web mit netten SQL Tutorials!

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
L3322
  • Forum-Beiträge: 467

19.09.2010, 21:10:11 via Website

Mac Systems
1Wie gehts weiter? Entschuldigung ich bin noch nicht so vertraut mit SQL!

Das ist doch kein problem, dafür gibts ja schliesslich Bücher oder das Web mit netten SQL Tutorials!

Sry aber ich wollte nur mal ne kurze Antwort aber gut!?!

"Hard work beats talent, when talent fails to work hard"

Antworten
Joachim Fuß
  • Forum-Beiträge: 28

19.09.2010, 21:12:01 via App

Sehr hilfreiche Antwort,
auf solche Antworten bzw. den Datenmüll von dir, kann jedes Forum verzichten.

J. Fuß

P. S. Eigentlich zu schade für die Verwendung von Bandbreite.

Edit: Die Antwort galt Mac Systems

— geändert am 19.09.2010, 21:17:14

Antworten
L3322
  • Forum-Beiträge: 467

19.09.2010, 21:30:35 via Website

Okay entschuldige na alle!
1WHERE fach = Deutsch
da bekomme ich einen Force close Obwohl es doch so stimmen müsste!?

"Hard work beats talent, when talent fails to work hard"

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

19.09.2010, 21:43:26 via App

hochkomma nicht vergessen

swordiApps Blog - Website

Antworten
L3322
  • Forum-Beiträge: 467

19.09.2010, 21:45:24 via Website

Ist drin!
trtzdem nix!

EDIT:09-19 21:27:45.245: ERROR/AndroidRuntime(9255): Caused by: android.database.sqlite.SQLiteException: no such column: Deutsch: , while compiling: Select fach, art, note FROM Noten WHERE fach = Deutsch;

— geändert am 19.09.2010, 21:51:22

"Hard work beats talent, when talent fails to work hard"

Antworten
Gelöschter Account
  • Forum-Beiträge: 1.479

19.09.2010, 21:51:28 via App

Groß und Kleinschreibung richtig? Und mach mal die Leerzeichen bei dem = raus. Bin mir zwar nicht sicher aber die gehören da glaub ich nicht rein.

edit:no column: Deutsch, scheint falsch geschrieben zu sein.

— geändert am 19.09.2010, 21:52:59

User Nr. 2618

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

19.09.2010, 22:02:16 via App

sag ich ja hochkomma 'deutsch'

swordiApps Blog - Website

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

19.09.2010, 22:16:16 via Website

Hey,
ich kann das selber noch nicht (SQL), aber als Anlauf fand ich Wikipedia ganz treffend formuliert. Gibt bestimmt noch mehr Einstiegsseiten, aber erstmal hier:
http://de.wikipedia.org/wiki/SQL#Sprachelemente_und_Beispiele
Lg Ansgar

edit: Abfrage mit Filter und Sortierung zeigt auch die von Markus angesprochenen Hochkommas >'< ...

— geändert am 19.09.2010, 22:18:15

Antworten
Marius O.
  • Forum-Beiträge: 1.588

19.09.2010, 22:31:21 via Website

Sicher das du die hochkomma hast?

ich hatte den selben fehler erst vorkurzem auch (mit der selben fehlermeldung)

und sonst wären die hochkomme doch auch in dem fehlerlog

edit: nächstesmal muss ich darauf achten auch auf "abschicken" zu klicken und nicht nur eine antwort zu schreiben:D

— geändert am 19.09.2010, 22:32:24

Antworten
Gelöschter Account
  • Forum-Beiträge: 1.479

20.09.2010, 00:11:28 via App

Die Hochkommas sind aber nur notwendig wenn Leerzeichen, Mathematische Symbole usw. drin sind, deshalb direkt nach dem =deutsch. DasLeerzeichen dass dann folgt markiert das Ende.
Ich mach die bei einzelnen Wörtern nie.

User Nr. 2618

Antworten
Marius O.
  • Forum-Beiträge: 1.588

20.09.2010, 00:17:49 via Website

er schreibt aber
1WHERE fach = deutsch

da sind zwischen "deutsch" und dem "=" leerzeichen

ich hatte wie schon gesagt vorkurzem das selbe prob

PS: es war glaube ich sogar bei derselben abfrage:D
ich habe nämlich auch eine spalte fach in meiner db

Antworten
Gelöschter Account
  • Forum-Beiträge: 1.479

20.09.2010, 01:18:49 via Website

Aber egal ob mit oder ohne Hochkomma, das Leerzeichen muss doch weg.

Also WHERE fach=deutsch oder WHERE fach='deutsch'

Jedenfalls hab ichs so gelernt das nach irgendwelche Operatoren immer direkt ohne Leerzeichen was folgen muss.

User Nr. 2618

Antworten
Gelöschter Account
  • Forum-Beiträge: 1.479

20.09.2010, 01:28:30 via Website

Also ich hätts jetzt so gemacht

1SELECT note
2FROM Noten
3WHERE fach=Deutsch;

Hast du am Ende das Semikolon?

— geändert am 20.09.2010, 01:37:16

User Nr. 2618

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

20.09.2010, 11:37:22 via Website

Die Hochkommas sind aber nur notwendig wenn Leerzeichen, Mathematische Symbole usw. drin sind

Sorry, aber das ist Quatsch.
'Deutsch' -> Textkonstante
Deutsch -> Identifier, hier zB ein Spaltenname

Demnach führt das Weglassen der Hochkommata zur Interpretation "Inhalt von Spalte Fach" = "Inhalt von Spalte Deutsch" und dann zur vom Thread-Ersteller geposteten Fehlermeldung.

Genauso die Sache mit den Leerzeichen: die sind erforderlich, wenn sonst Sinnentfremdung stattfindet, an allen anderen Stellen darf man beliebig viele (einschließlich gar keins) machen; "where fach = 'Deutsch'" ist also gleichwertig zu "where fach='Deutsch'"

Groß/Kleinschreibung: die meisten SQL-Dialekte kümmern sich darum nicht (bei Schlüsselworten und Identifiern); bei SQLite ist es nicht anders.

Antworten
Gelöschter Account
  • Forum-Beiträge: 1.479

20.09.2010, 11:44:07 via Website

and dev
Die Hochkommas sind aber nur notwendig wenn Leerzeichen, Mathematische Symbole usw. drin sind

Sorry, aber das ist Quatsch.
'Deutsch' -> Textkonstante
Deutsch -> Identifier, hier zB ein Spaltenname

Demnach führt das Weglassen der Hochkommata zur Interpretation "Inhalt von Spalte Fach" = "Inhalt von Spalte Deutsch" und dann zur vom Thread-Ersteller geposteten Fehlermeldung.

Genauso die Sache mit den Leerzeichen: die sind erforderlich, wenn sonst Sinnentfremdung stattfindet, an allen anderen Stellen darf man beliebig viele (einschließlich gar keins) machen; "where fach = 'Deutsch'" ist also gleichwertig zu "where fach='Deutsch'"

Groß/Kleinschreibung: die meisten SQL-Dialekte kümmern sich darum nicht (bei Schlüsselworten und Identifiern); bei SQLite ist es nicht anders.

Dann liegt meine SQL Zeit doch zuweit zurück^^

User Nr. 2618

Antworten