Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

1 Zum Seitenanfang

Sonntag, 15. November 2009, 21:55

Hilfe bei Query, welcher Operator?

Hallo,

ich hab ein Query für eine SQLite Datenbank mit mehreren WHERE Bedingungen. KA wie ich es erklären soll, deswegen hier ist es:

MySQL-Abfrage(n)

1
"SELECT * FROM tabelle WHERE (EK < '" + txtPreisVon.Text + "' AND EK > '" + txtPreisBis.Text + "') AND FK_1= '" + cb1.SelectedText + "' AND FK_2= '" + cb2.SelectedText + "' AND FK_3 = '" + cb3.SelectedText + "' AND Jahrgang = '" + txtJahr.Text + "'"

Wenn cb1.SelectedText jetzt zB 5 ist, soll es alle Datensätze, wo FK_1 "5" ist zurückgeben. Tut es aber nicht. Wenn ich es zwischen den Klauseln mit einem "OR" versuche, kommen auch andere Datensätze, weil *.SelectedText auch ein leerer string ("") sein kann. Welchen Verknüpfungsoperator (heißt das so?) brauche ich, damit es klappt? Mit "IS" hab ichs probiert, ging nicht.


dermainzer
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 998

 

2 Zum Seitenanfang

Sonntag, 15. November 2009, 22:01

erzähl doch mal welche tabellen du hast, welche spalten, wie sind die miteinander verknüpft, welche werte stehen drin und was du als ergebnis angezeigt haben willst. dann können wir dir weiterhelfen

MFG
Mein kleines Projekt
-Cruel Online-
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

3 Zum Seitenanfang

Sonntag, 15. November 2009, 22:10

naja du musst wie cccpmik erwähnt hat mal genau aufführen, wie es funktionieren soll.

schreib einfach mal für jede bedingung einen fall auf.

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

4 Zum Seitenanfang

Montag, 16. November 2009, 14:10

ok, hier sind ein paar Bedingungen:

wenn FK_1 = ,5 zeige alle Datensätze mit FK_1 = 5
wenn FK_1 = 5 und FK_2 = 7, zeige alle Datensätze mit FK_1 = 5 und FK_2 = 7
wenn EK < 5 und EK > 10 und FK_4 = 30, zeige alle Datensätze wo EK < 5, EK > 10 und FK_4 = 30

Wenn ich bei diesem Query FK_1 = 10 habe, zeigt es nichts an, aber es sollte alle Datensätze zeigen, wo FK_1 = 10 ist. Ich hoffe, dass es jetzt etwas verständlicher ist.


dermainzer
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 998

 

5 Zum Seitenanfang

Montag, 16. November 2009, 14:49

Es ist immer noch nicht verständlicher aber wenn es dir weiterhilft:

"SELECT * FROM somewhere WHERE FK_1 = 5"; //FK_1 MUSS eine Spaltenüberschrift sein
"SELECT * FROM somewhere WHERE FK_1 = 5 AND FK_2 = 7";
"SELECT * FROM somewhere WHERE (EK BETWEEN 5 AND 10) AND FK_4 = 30"
und alles zusammengefasst:

"SELECT * FROM somewhere WHERE (EK BETWEEEN 5 AND 10) AND FK_4=30 AND FK_1 = 5 AND FK_2 =7 ";


ist es das was du wolltest?
Mein kleines Projekt
-Cruel Online-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (16. November 2009, 14:49)

 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

6 Zum Seitenanfang

Montag, 16. November 2009, 14:54

Hi cccpmik,

hilft mir nicht ganz weiter, ich mach es mal an einem Beispiel fest.

Ich hab eine Tabelle mit ca. 2500 Datensätzen. Diese Tabelle will ich durchsuchen.
In einem Formular sind Combo- und Textboxen für die Kriterien. Wenn ich in ComboBox1 5 eingebe/auswähle, sollen alle Datensätze, bei denen
FK_1 = 5 ist, ausgegeben werden. Wenn ich aber in ein zweites Feld 8 eingebe, sollen alle Datensätze mit FK_1 = 5 und FK_2 = 8 gefunden werden.


dermainzer
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 998

 

7 Zum Seitenanfang

Montag, 16. November 2009, 14:59

Dann mach folgendes:

$query = "SELECT * FROM somewhere ";

if(isset($_POST)){
$query .= "WHERE ";
}
if(!empty($_POST['feldxy'])){
$query .= "irgendwas = ".$_POST['fieldxy'];
}

und das die ganze zeit. so dass du am ende eine query zusammensetzt, je nach dem ob und was eingegeben wurde
Mein kleines Projekt
-Cruel Online-
 

dermainzer

Routinier

Dabei seit: 07.03.2009

Beiträge: 327

 

8 Zum Seitenanfang

Montag, 16. November 2009, 17:23

Hi,

vielen Dank, funktioniert super :)


dermainzer
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 998

 

9 Zum Seitenanfang

Montag, 16. November 2009, 17:25

Na das ist doch nice, da haben echt die Lehrstunden von ospx ,heiner,jperl mir doch weitergeholfen, und ich kann nun auch anderen helfen:D
Mein kleines Projekt
-Cruel Online-
 

Ähnliche Themen