Hallo zusammen!
Ich habe ein kleines Problem.
Ich hab eine Tabelle in der eine Auftragsnummer gespeichert ist und einen Status. In der 2. Tabelle sind die "Positionen" zu den Aufträgen.
Kurz zusammen gefasst:
1. Tabelle "ord":
oder_id | status
2. Tabelle "postitionen":
order_id | pos_id | status
Nun möchte man von den Positionen alle Auftrage mit den Status
nicht "p3" oder nicht "p1" oder nicht "p2" und status="p7" und von ord mit dem Status "o1"
Problem: Es gibt zu den Aufträgen beliebig viele Positionen mit den verschiedensten Status. Somit funktioniert das SQL nicht richtig da eine Position nicht 2 Status haben kann.
Hat mir jemand eine Idee, wie man das am einfachsten auslesen kann?
Hab mal was von sogenannten "views" gelesen, aber die funktionieren ja bei Mysql 4.x noch nicht?
Soll ich lieber grad direkt eine temporäre Tabelle erstellen und dann halt alles via Code füllen? DB wäre halt schon viel schneller...
Vielen Dank für euere Hilfe!
samic
Ich habe ein kleines Problem.
Ich hab eine Tabelle in der eine Auftragsnummer gespeichert ist und einen Status. In der 2. Tabelle sind die "Positionen" zu den Aufträgen.
Kurz zusammen gefasst:
1. Tabelle "ord":
oder_id | status
2. Tabelle "postitionen":
order_id | pos_id | status
Nun möchte man von den Positionen alle Auftrage mit den Status
nicht "p3" oder nicht "p1" oder nicht "p2" und status="p7" und von ord mit dem Status "o1"
Code:
SELECT DISTINCT ord.order_id, position.status FROM ord INNER JOIN position ON ord.order_id=position.order_id WHERE ord.status='o1' AND ((position.status!='p3' OR position.status!='p1' OR position.status!='p2') AND (position.status='p7'))
Hat mir jemand eine Idee, wie man das am einfachsten auslesen kann?
Hab mal was von sogenannten "views" gelesen, aber die funktionieren ja bei Mysql 4.x noch nicht?
Soll ich lieber grad direkt eine temporäre Tabelle erstellen und dann halt alles via Code füllen? DB wäre halt schon viel schneller...
Vielen Dank für euere Hilfe!
samic
Kommentar