art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 24.12.2004, 14:48   #1
TP-Junior
 
Benutzerbild von Webpicasso
 
Registriert seit: Jul 2004
Ort: München
Webpicasso macht alles soweit korrekt

Komplexe mysql abfrage...


Hi,

ich habe 2 tabellen. (eigentlich 3 da in der dritten die eigenschaften definiert sind...)

in der ersten sind artikel drin und in der zweiten die gesetzten eigenschaften in mehreren zeilen.

tabelle1
- artikel_id
- artikel_name
- ....

tabelle2
- artikel_eigenschaft_system_id
- artikel_id
- artikel_eigenschaft_id

Ich möchte jetzt alle artikel die die artikel_eigenschaft_id = 1 UND artikel_eigenschaft_id = 2 haben !!!
Hier habe ich das problem, dass die eigenschaften in mehreren zeilen stehen und ich nicht weiß wie ich das verknüpfen soll.

Jemand eine Idee ?

Danke & schöne Feiertage
Gruß
Chris
Webpicasso ist offline   Mit Zitat antworten


Alt 24.12.2004, 14:57   #2
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Code:
select artikel_name from tabelle1 where tabelle2.artikel_id = 1 and tabelle2.artikel_eigenschaft_id = 2 and tabelle1.artikel_id = tabelle2.artikel_id
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 24.12.2004, 15:10   #3
TP-Junior
 
Benutzerbild von Webpicasso
 
Registriert seit: Jul 2004
Ort: München
Webpicasso macht alles soweit korrekt

Das ist es nicht.. :o(


Problem ist, dass die Artikeleigenschaften in mehreren Zeilen steh nicht in spalten, somit bekommst Du mit einer UND verknüpfung nie ein resultat, da das gleiche feld in einer zeile mit zwei werten abgefragt wird und das geht nicht.

Wenn ich das verschachteln könnte würde ich das dan so machen:

SELECT * FROM (
SELECT count(artikel_eigenschaft_id),artikel_id as cc FROM tabelle2
WHERE tabelle2.artikel_eigenschaft_id = 1
OR tabelle2.artikel_eigenschaft_id = 3
GROUP BY tabelle2.article_id ) as tempx
WHERE tempx > 1
Webpicasso ist offline   Mit Zitat antworten
Alt 24.12.2004, 15:15   #4
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
http://dev.mysql.com/doc/mysql/de/JOIN.html
Dein Propblem hab ich zwar immer noch nicht nachvollziehen können - aber egal

[edit] Kann es sein, dass ein einfaches OR dein Problen löst?
Code:
artikel_eigenschaft_id = 1 OR artikel_eigenschaft_id = 2
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

Geändert von Dennis The Menace (24.12.2004 um 15:24 Uhr).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 24.12.2004, 15:33   #5
TP-Junior
 
Benutzerbild von Webpicasso
 
Registriert seit: Jul 2004
Ort: München
Webpicasso macht alles soweit korrekt

Hier mal die Daten:


tabelle1
artikel_id | artikel_name | ....
22 vw golf
23 vw polo


tabelle2
artikel_eigenschaft_system_id | artikel_id | artikel_eigenschaft_id
1 22 1
1 22 4
1 22 2
1 23 6
1 23 1


so wenn ich jetzt abfrage, gib mit alle artikel wo artikel_eigenschaft_id = 1 UND artikel_eigenschaft_id = 2 ist dann kann ich nicht einfach sagen
SELECT * FROM tabelle2 WHERE artikel_eigenschaft_id = 1 AND artikel_eigenschaft_id = 2 !!!!
Mit OR würde ich Artikel_id 23 auch als ausgabe bekommen da dieser die eigenschaft_id = 1 hat. Aber ich will ja nur die Artikel die beides haben.

???
Webpicasso ist offline   Mit Zitat antworten
Alt 24.12.2004, 16:29   #6
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Code:
select version();
Und jetzt sag mir mal, ob das ne Version ist, die Subselect kennt^^
Viva le Oracle
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 24.12.2004, 17:15   #7
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Hi

versuchs mal mit dem having.

SELECT count( artikel_id ) AS feld, artikel_id
FROM tabelle2
WHERE artikel_eigenschaft_id
IN ( 1, 2 )
GROUP BY artikel_id
HAVING count( artikel_id ) > 1
__________________
Liebe Grüße, die Judi!
Judi ist offline   Mit Zitat antworten
Alt 24.12.2004, 17:50   #8
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Ich finds erstaunlich, dass man das In( x,xx) doch immer wieder vergessen kann
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 24.12.2004, 23:37   #9
TP-Junior
 
Benutzerbild von Webpicasso
 
Registriert seit: Jul 2004
Ort: München
Webpicasso macht alles soweit korrekt
Smile

Thx Judi ....


Vielen Dank, dass war genau das was ich gesucht hatte.

Ich komme leider aus der MSSQL Ecke da ist man etwas verwöhnt mit subselects...

Ich war schon dabei die mysql version upzugraden und das mit nem subselect zu machen aber Du warst meine Rettung

Danke & Gruß
Christian
Webpicasso ist offline   Mit Zitat antworten
Alt 25.12.2004, 00:20   #10
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Hiho

dieses Statement liefert Dir allerdings nur einen zu verarbeitenden Wert (Feld) zurück. Dafür ist ein Subselect nicht unbedingt nötig. Möchtest Du aber die genaue Auflistung 1, 2 jedes Artikels (obs Sinn macht, steht auf einem anderen Blatt) oder eine Ausgabe anderer Spalten, die über das group by nicht zuzuordnen sind, ist ein Subselect oder die Verarbeitung über eine View meines Erachtens unumgänglich.
__________________
Liebe Grüße, die Judi!

Geändert von Judi (25.12.2004 um 11:39 Uhr).
Judi ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Komplexe mysql abfrage... Komplexe mysql abfrage...
« Bildergrößen ändern | 'unlink' mit Schleife löscht immer nur letzte Datei trotz Übergabe »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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
Mysql Abfrage der Einträge bball Traum-Dynamik 12 11.11.2004 18:21
MySQL DB / Abfrage (WHERE) jonny_Bayern Traum-Dynamik 3 26.10.2003 00:00
MySQL Standard- oder Wildcard Abfrage? davidg.de Traum-Dynamik 10 04.10.2003 13:49
mysql abfrage Hasibit Traum-Dynamik 7 16.04.2003 12:13
Problem MySql Abfrage über zwei Tabellen geesee Traum-Dynamik 5 26.09.2002 21:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:43 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67