php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben || php-forumjetzt anmelden
 

SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-12-2006, 18:43
cgdesign
 Newbie
Links : Onlinestatus : cgdesign ist offline
Registriert seit: Nov 2006
Beiträge: 29
cgdesign ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.0] WHERe Klausel

Hallo,

ich habe eine Tabelle mit den Spaltennamen: "ID, kategorie, artikel, view"

Jetzt sind da drin mehrere Artikel gelistet, mit mehreren gleichen Artikelnummern. Wenn ich jetzt von 2 bestimmten Artikel alle Inhalte haben will, würde ich schreiben:

SELECT * FROM tspi_option_ver WHERE artikel = '996' AND artikel = '924'

Aber genau das macht er nicht. Schreib ich jeden Artikel einzeln, geht es. Schreib ich es so: SELECT * FROM tspi_option_ver WHERE artikel = '996' OR artikel = '924' funktioniert es auch. Aber wieso nicht die erste Schreibweise?
Mit Zitat antworten
  #2 (permalink)  
Alt 19-12-2006, 19:27
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das sind die grundlagen der aussagenlogik.
kein artikel kann gleichzeitig beide eigenschaften haben. die verknüpfung "und" auf zwei unterschiedlichen wahrheitswerten ergibt immer "falsch", sodass kein einziges artikel selektiert wird.
Mit Zitat antworten
  #3 (permalink)  
Alt 20-12-2006, 09:46
cgdesign
 Newbie
Links : Onlinestatus : cgdesign ist offline
Registriert seit: Nov 2006
Beiträge: 29
cgdesign ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, danke für die Antwort.

Hast du eine Ansatzmöglichkeit, wie ich von x-Artikeln, gehen wir mal von 2 aus, die Summe der Datensätze raubekomme?

Wahrscheinlich mit " count(irgendwas) where artikel='996' " oder so? Aber ich müsste eben von mehreren Artikeln gleichzeitig die Anzahl wissen... Und deswegen dachte ich unlogischerweise, dass es vielleicht so gehen würde :/
Mit Zitat antworten
  #4 (permalink)  
Alt 20-12-2006, 10:59
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

COUNT() ist schon richtig.

schau dir aber mal GROUP an.

PS: Bist nicht der erste, der nen Shop oder sowas programmiert.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #5 (permalink)  
Alt 20-12-2006, 18:38
cgdesign
 Newbie
Links : Onlinestatus : cgdesign ist offline
Registriert seit: Nov 2006
Beiträge: 29
cgdesign ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmmm ok,

also:
SELECT count( * )
FROM tspi_option_ver
WHERE artikel = '996'
AND view = '0'

gibt mir das richtige Ergebnis wieder, aber allerdings nur für einen Artikel. Wenn ich jetzt 2 oder 3 oder 18 Artikel gleichzeitig habe, dann finde ich einfach nicht die passende MySQL-Funktion dafür...
Mit Zitat antworten
  #6 (permalink)  
Alt 20-12-2006, 18:48
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

das wundert dich nicht wirklich, wenn du WHERE artikel = '996' verwendest...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #7 (permalink)  
Alt 20-12-2006, 18:52
cgdesign
 Newbie
Links : Onlinestatus : cgdesign ist offline
Registriert seit: Nov 2006
Beiträge: 29
cgdesign ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Natürlich wundere ich mich nicht, aber mit mehreren Artikel klappt es ja nicht, was ja auch logisch ist.
Die Group-Klausel hab ich mir angeschaut, aber auch da nicht eine richtige Funktion gefunden.
Vielleicht geht es nur über Unterabfragen, aber das wären ja dann ziemlich viele...
Mit Zitat antworten
  #8 (permalink)  
Alt 21-12-2006, 06:38
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Natürlich wundere ich mich nicht, aber mit mehreren Artikel klappt es ja nicht, was ja auch logisch ist.
warum ist das bitte logisch? vielleicht solltest du dich mal mit den grundlagen von sql beschäftigen...

du willst mehrere datensätze selektieren? dann tue das. wo ist das problem, das where-statement anders aufzubauen?

p.s. informiere dich unter anderem, _warum_ man ganzzahlige datentypen verwenden soll, wenn du natürliche (oder auch ganze) zahlen speichern willst.
Mit Zitat antworten
  #9 (permalink)  
Alt 21-12-2006, 10:33
Dennis79
 Newbie
Links : Onlinestatus : Dennis79 ist offline
Registriert seit: Jul 2006
Beiträge: 73
Dennis79 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Moin,

mach doch mal sowas (um das hier abzukürzen):

SELECT artikel, COUNT(ID) FROM Deine Tabelle GROUP BY artikel

Gruß,
Dennis
Mit Zitat antworten
  #10 (permalink)  
Alt 22-12-2006, 10:16
cgdesign
 Newbie
Links : Onlinestatus : cgdesign ist offline
Registriert seit: Nov 2006
Beiträge: 29
cgdesign ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Dennis79
Moin,

mach doch mal sowas (um das hier abzukürzen):

SELECT artikel, COUNT(ID) FROM Deine Tabelle GROUP BY artikel

Gruß,
Dennis
Danke, aber so geht das ja eben nicht... Denn ich will ja nicht alle Artikel grupieren, sondern nur eine bestimmte Anzahl.

@penizillin

Ganz locker bleiben, wenn es denn so einfach wäre, würde ich wohl hier nicht fragen oder?
Hätte es jetzt mit SELECT COUNT(*) FROM tspi_option_ver WHERE artikel IN ('996', '924') gelöst...

Geändert von cgdesign (22-12-2006 um 10:21 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

OnPremise versus Cloud - das richtige System finden
Wir beleuchten in diesem Artikel, die Vor- und Nachteile für Cloud oder OnPremise Systemen. Und warum es definitiv Zeit wird in die Cloud zu wechseln.

09.05.2022 | julia_mjr

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

01.07.2022 Berni | Kategorie: PHP/ Anzeigenmarkt
NewsLetter Script PHP ansehen NewsLetter Script PHP

NewsLetter Script PHP is a simple email subscriptions newsletters script written in PHP and MySQL. Admin could send news in the letters to a mailing list of subscribed visitors. All the news and subscription form could be placed into a page of your web

28.06.2022 nevenov | Kategorie: PHP/ Mail
Contact Form PHP ansehen Contact Form PHP

Each website needs a contact form - Contact Form PHP script is very easy to install on your contacts page and administer.

27.06.2022 nevenov | Kategorie: PHP/ Formular
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:46 Uhr.