php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.04.2005, 13:37  
Gast
 
Beiträge: n/a
Standard Abfrage gleiche Tabelle, verschiedene Werte

Hallo zusammen
Habe folgendes Problem
In einer Tabelle steht folgendes:

itemID clientID typeID value
----------------------------------------
400 11 176 800
401 11 177 1350
402 11 178 Verfügbar
403 8 176 600
404 8 177 900
405 8 178 Verfügbar

Mit dem SQL
Code:
SELECT clientID FROM item WHERE ((value<='800' Or value<='1200') AND (typeID=176 Or typeID=177))
erhalte ich folgendes Ergebniss:
  • 11
    8
    11
Ich bin aber nur an 11 interessiert.
Das heisst typeID=176 muss <= 800 sein und typeID=177 muss <=1200 sein.
Habe auch schon mit EXISTS probiert, hat aber nicht funktioniert.

Kann mir jemand helfen?
Danke Zurli
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.04.2005, 14:13  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

warum bündelst du dann nciht deine 2 wünsche so wie du es gerade geschrieben hast?

oder hab ich es falsch verstanden:


((value<='800' AND typeID=176) OR (value<='1200' Or typeID=177))
robo47 ist offline   Mit Zitat antworten
Alt 03.04.2005, 17:29  
Gast
 
Beiträge: n/a
Standard

Nein das funktioniert leider nicht mit
Code:
SELECT clientID FROM item WHERE ((value<='800' AND typeID=176) OR (value<='1200' Or typeID=177))

Ausgabe

forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=8
forum_ergebnis=8
forum_ergebnis=9
forum_ergebnis=8
forum_ergebnis=6
forum_ergebnis=7
forum_ergebnis=7
forum_ergebnis=8
forum_ergebnis=8
forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=9
forum_ergebnis=11
forum_ergebnis=11
forum_ergebnis=8
forum_ergebnis=8

9,7 und 6 haben gar keine typeID 177 oder 176
  Mit Zitat antworten
Alt 03.04.2005, 17:41  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ups tipfehler, hitnern zwischen

(value<='1200' Or typeID=177))

mus ein AND
robo47 ist offline   Mit Zitat antworten
Alt 03.04.2005, 17:57  
Gast
 
Beiträge: n/a
Standard

das scheint näher am Ziel zu sein

jetzt bekomme ich als Ausgabe alles andere als 11 woran ich ja interessiert bin. mal schauen ob ich mit ein par not's zum Ziel komme.

Danke vorerst mal. Bin schnell für 2-3 Stunden weg.
Bis später dann
  Mit Zitat antworten
Alt 04.04.2005, 09:01  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Die values sind ja bei allen 176 kleiner als 800 und bei 177 kleiner 1200. Bist du sicher, dass du nicht auf >= abfragen sollst? Und da value ein String-Attribut ist, wird auch der Vergleich auf Strings angewendet, d.h. 3 ist z.B. grösser als 261. Du kannst versuchen, dass zu umgehen, indem du zum Wert eine Null addierst und dann auf Zahlen abfrägst:
Code:
WHERE ((value + 0 <= 800 AND typeID=176) OR .....
wobei dann die Felder, die Text enthalten 0 zurückgeben.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 04.04.2005, 18:25  
Gast
 
Beiträge: n/a
Standard

Herzlichen Dank für die Hilfe

Oh, danke für den Hinweis. Ich habe mir jetzt sowieso eine andere Tabellenstruktur gemacht. Jetzt steht alles nebeineinander in einer Tabelle, dann wird das abfragen sicher auch einfacher.

Würdest du dann die Zeit selbst darin speichern und ein TIME Feld machen?

Danke nochmals
Chris
  Mit Zitat antworten
Alt 05.04.2005, 08:48  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich weiss natürlich nicht, was du genau machen willst, aber falsch war deine Struktur auf den ersten Blick nicht. Und was für eine Zeit willst du mitspeichern? Die Erfassungs- oder Änderungszeit? Dann würde DATETIME verwenden, da ist das Datum auch gleich drin.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 06.04.2005, 13:45  
Gast
 
Beiträge: n/a
Standard

Also zuerst einmal soll ich 3 Daten aulisten.
Kunde:
Ein Probedatum. Ein Startdatum und ein Enddatum, Start- und Endzeit.
Dies hat aber nichts mit dem Problem oben zu tun.

Mitarbeiter
für jeden Wochentag Start- und Endzeit

nun soll man Mitarbeiter auswählen können, welche Zeit haben.

Ich habe mal eine neue Tabelle gemacht mit Start und Endzeit für jeden Mitarbeiter. Jetzt kann ich problemlos mit BETWEEN abfragen.

Weisst du vielleicht, wie man bestimmen kann ob eine Woche gerade oder ungerade ist. So etwas wie if $Wochentag /2==gerade Zahl und so was wie if $Wochentag /2==etwas,5.

Danke
  Mit Zitat antworten
Alt 06.04.2005, 14:23  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
if ($wochentag 2){
   echo 
"ungerade
"
;
}
else{
   echo 
"gerade
"
;
}
?>
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
abfrage mit bedingung bei einer zweiten tabelle marcelglaeser Datenbanken 6 29.05.2008 19:10
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
Verschiedene Werte in verschiedene Zeilen in eine Tabelle einfügen Heizkessel PHP Tipps 2008 4 15.02.2008 13:53
Abfrage auf fehlende ID in einer Tabelle maeck Datenbanken 2 04.07.2007 19:44
where Abfrage in anderer Tabelle?? Matthiasnet Datenbanken 10 11.04.2007 17:35
Abfrage ob eine Tabelle existiert oder nicht php_anfang Datenbanken 2 29.08.2006 17:05
werte einer tabelle in andere tabelle speichern high_scorer Datenbanken 3 30.09.2005 16:28
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
Abfrage einer Tabelle mit mehreren wörtern Diego1978 PHP Tipps 2005-2 4 15.08.2005 14:58
Werte für Dropdown aus Tabelle einlesen PHP Tipps 2005-2 0 05.08.2005 12:35
[Erledigt] Mehrere Werte mit GET von einer Tabelle auslesen... PHP Tipps 2005 2 01.06.2005 13:53
if - Abfrage in tabelle Anuschka PHP Tipps 2005 4 26.01.2005 16:26
Werte in Tabelle änder und in DB speichern PHP Tipps 2004-2 5 17.12.2004 22:11
werte einer tabelle mit werten einem array vergleichen PHP Tipps 2004 1 08.07.2004 21:33
[Erledigt] Werte eines Arrays aus Tabelle auslesen ? PHP-Fortgeschrittene 12 08.06.2004 19:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/datenbanken/20634-erledigt-abfrage-gleiche-tabelle-verschiedene-werte.html, zwei abfrage in gleicher tabelle sql, \eine tabelle\ \mehrere abfragen\ sql, sql abfrage verschiedene werte, sql abfrage gleiche tabelle, 2 abfragen von der gleichen tabelle, mysql abfrage mit 2 verschiedenen werten, mysql abfrage gleiche tabelle, php unterschiedliche werte, mysql abfrage auf gleiche tabelle, gleiche inhalte in abfrage, zwei gleiche tabelle abfragen, sql abfrage gleicher tabelle, sql gleiche tabellen abfragen, sql verschiedene werte, sql syntax mit arry werten, sql gleiche tabelle verschiedene einträge, sql 2 abfragen auf gleiche tabelle, abfrage auf die gleiche tabelle sql, tabelle mit unterschiedliche werten

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.