SQL - Abfrage

bluescreen
Für die Schule sollten wir eine Gartendatenbank entwickeln und und ein Paar Abfragen einfallen lassen.

ich will mir alle Gemüsesorten und Obstbäume anzeigen lassen die im Garten stehen und wenig oder durchschnittlich wasser benötigt.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
SELECT Pflanze.Name AS Pflanzenname,
gattung AS Art,
bewässerung AS Wassermenge
FROM Pflanze, Pflege, Eigenschaften
WHERE Pflanze.Name = Eigenschaften.Name
AND Pflanze.Name = Pflege.Name
AND Eigenschaften.gattung = "Obstbaum"
OR "Gemüse"
AND Pflege.bewässerung = "wenig"
OR "mittel"
AND Eigenschaften.standort = "Garten"
;

kann mir jemand sagen was ich da verpfuscht hab, denn er zeigt mir nur
code:
1:
2:
3:
4:
5:
6:
7:
8:
Pflanzenname 	|Art 	        |Wassermenge
Mirabellenbaum 	|Obstbaum 	|wenig
Apfelbaum 		|Obstbaum	|wenig
Aprikosenbaum 	|Obstbaum 	|wenig
Pfirsichbaum 	|Obstbaum 	|wenig
Pflaumenbaum 	|Obstbaum 	|wenig

an.

Freue mich über Hilfe.
ThiefMaster
Zitat:
Eigenschaften.gattung = "Obstbaum" OR "Gemüse"

Das ist genauso unsinnig wie wenn du in PHP sowas schreiben würdest:
if($bla == 'a' || 'b')

Und UMLAUTE haben in einem Tabellen-/Spaltenname definitiv nichts verloren.
bluescreen
das mit den Umlauten hat mich auch gestört,
aber ich mach das mit noch zwei andere und ich hab den Programmierteil übernommen
und die ham den Sch*** schon so eingegeben. Aber mal ne Frage...
Könntest du das etwas konkretisieren was du meinst. Ich kann php nich gut großes Grinsen .
Ich mein was muss ich machen damit das funktioniert?
ThiefMaster
(bla = 'a' OR bla = 'b') statt (bla = 'a' or 'b')
alternativ ginge auch:
(bla IN ('a', 'b'))
bluescreen
ps:
die abfrage
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
SELECT 	Pflanze.Name  AS Pflanzenname,
       		düngermenge  AS Düngermenge,
       		düngerqualität  AS Düngerart,
		verwendung     AS Art
FROM   		Pflanze, Pflege
WHERE 	Pflanze.Name = Pflege.Name
AND    		verwendung =  	"Gemüse" 
   		OR 		"Frucht"
;

hat funktioniert.
bluescreen
mom...
ThiefMaster
Zitat:
verwendung = "Gemüse"
OR "Frucht"


'"Frucht"' ist in dem fall wie 'true' -> wie wenn da nur (verwendung = "Gemüse" ) stünde
bluescreen
also ich hab den Code jetz geändert:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
SELECT Pflanze.Name AS Pflanzenname,
       gattung AS Art,
       bewässerung AS Wassermenge
FROM   Pflanze, Pflege, Eigenschaften
WHERE  Pflanze.Name = Eigenschaften.Name
AND    Pflanze.Name = Pflege.Name
AND    Eigenschaften.gattung = "Obstbaum"
OR     Eigenschaften.gattung = "Gemüse"
AND    Pflege.bewässerung = "wenig"
OR     Pflege.bewässerung = "mittel"
AND    Eigenschaften.standort = "Garten"
;

und er gibt
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Pflanzenname 	Art 	Wassermenge
Ahorn 	Obstbaum 	mittel
Ahorn 	Obstbaum 	mittel
Ahorn 	Obstbaum 	mittel
Ahorn 	Obstbaum 	mittel
Ahorn 	Obstbaum 	mittel
Ahorn 	Obstbaum 	mittel
Apfelbaum 	Obstbaum 	mittel
Apfelbaum 	Obstbaum 	mittel
Apfelbaum 	Obstbaum 	mittel
Apfelbaum 	Obstbaum 	mittel
Apfelbaum 	Obstbaum 	mittel
Apfelbaum 	Obstbaum 	mittel
Aprikosenbaum 	Obstbaum 	mittel
Aprikosenbaum 	Obstbaum 	mittel
Aprikosenbaum 	Obstbaum 	mittel
Aprikosenbaum 	Obstbaum 	mittel
Aprikosenbaum 	Obstbaum 	mittel
Aprikosenbaum 	Obstbaum 	mittel
Aubergine 	Obstbaum 	mittel
Aubergine 	Obstbaum 	mittel
Aubergine 	Obstbaum 	mittel
Aubergine 	Obstbaum 	mittel
Aubergine 	Obstbaum 	mittel
Aubergine 	Obstbaum 	mittel
Birnbaum 	Obstbaum 	mittel
Birnbaum 	Obstbaum 	mittel
Birnbaum 	Obstbaum 	mittel
Birnbaum 	Obstbaum 	mittel
Birnbaum 	Obstbaum 	mittel
Birnbaum 	Obstbaum 	mittel
bluescreen
aso
aber warum gets jetz immer noch ned (s. oben)
ThiefMaster
Klammer mal deine WHERE-Ausdrücke.. also so in der art:
(x OR y) AND (a OR b)
bluescreen
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
SELECT Pflanze.Name AS Pflanzenname,
       gattung AS Art,
       bewässerung AS Wassermenge
FROM   Pflanze, Pflege, Eigenschaften
WHERE  Pflanze.Name = Eigenschaften.Name
AND    Pflanze.Name = Pflege.Name
AND    (
       Eigenschaften.gattung = "Obstbaum"
       OR     Eigenschaften.gattung = "Gemüse"
)
AND    (
       Pflege.bewässerung = "wenig"
       OR     Pflege.bewässerung = "mittel"
)
AND    Eigenschaften.standort = "Garten"
;

er gibt aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
Pflanzenname 	Art 	Wassermenge
Mirabellenbaum 	Obstbaum 	wenig
Apfelbaum 	Obstbaum 	wenig
Aprikosenbaum 	Obstbaum 	wenig
Pfirsichbaum 	Obstbaum 	wenig
Pflaumenbaum 	Obstbaum 	wenig
bluescreen
kanns sein das die abfrage selbst für dich ein Rätsel ist großer admin großes Grinsen ;
daHooligan
es gibt ne edit-funktion^^
bluescreen
?? ja schon abre wei hilft mir das bei meine Problem verwirrt
//yipie... jetz kann ich auch mal den verwirrt - Smyli verwenden
Chris Hunter
versuch mal das:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
SELECT Pflanze.Name AS Pflanzenname,
       gattung AS Art,
       bewässerung AS Wassermenge
FROM   Pflanze, Pflege, Eigenschaften
WHERE  Pflanze.Name = Eigenschaften.Name
AND    Pflanze.Name = Pflege.Name
AND    (Eigenschaften.gattung = "Obstbaum" OR Eigenschaften.gattung = "Gemüse")
AND    (Pflege.bewässerung = "wenig" OR Pflege.bewässerung = "mittel")
AND    Eigenschaften.standort = "Garten"



und ich denke nicht das Thief damit probleme hat.....
Thief bittemach doch mal die schriftart courier new bei der texteingabe des beitrags, bitte bitte...

also nicht die anzeige des beitrags, sondern die textart der <textarea>
bluescreen
kp hat auch nich gefunzt...
naja
ich lass die jetz einfach weg.
Chris Hunter
Die ABfrage ist sowieso scheiße seh ich grad... versuchs doch mal mit joins..
ich hab n tutorial dazu geschrieben hier im forum.
bluescreen
ja kann ich mir ja mal vornehmen...
aber wir ham des zeuch jetz abgegeben und deshalb brauch ichs jetz schulintern nimmer. Aber es würd mich trotzdem interessieren
Hanfling
Evtl. Probleme mit Zeichenkodierung?
bluescreen
hmm...
stimmt ich schau mal nach