Also
ich habe eine Tabelle invPartCache
typeID, partName, partCount, childID, entrydate
in diese Werden Baumaterialien eingetragen.
Nun brauche ich evtl für ein Teil, wieder ein Teil, sprich die Mauer besteht aus Mörtel und Steinen
Mörtel aus Sand, Zement, Wasser
Steine aus Lehm… kann man immer weiter spielen.
Also versuche ich einen Join mit sich selbst, leider kommt dabei nicht das gewünschte raus
Wenn ich Mauer abrufe, möchte ich nicht nur
300 Steine, 50 Mörtel, sondern auch woraus Mörtel und Steine bestehen sehen. Wenn ein Element kein Unterelement hat soll es trotzdem angezeigt werden.
Dazu:
SELECT invB.partName AS name, invB.partCount AS count, invA.partName AS childname, invA.partCount AS childcount FROM invPartCache AS invB LEFT JOIN invPartCache AS invA ON (invB.childID=invA.typeID AND invA.typeID=„.$typeID.“ AND invA.childID IS NOT NULL)
liefert es mir folgendes:
//Diese Teile sind richtig
Capital Sensor Cluster -
4 -
Capital Capacitor Battery -
9 -
Capital Cargo Bay -
37 -
Capital Computer System -
7 -
Capital Construction Parts -
15 -
Capital Ship Maintenance Bay -
7 -
Capital Corporate Hangar Bay -
4 -
Waste Factor -
10 -
//Ab hier falsch, denn dies sind die Teile für „Capital Sensor Cluster“
Tritanium -
439155 -
Pyerite -
100015 -
Mexallon -
40468 -
Isogen -
6592 -
Nocxium -
1786 -
Zydrine -
330 -
Megacyte -
147 -
Waste Factor -
10 -
Ich hab bisher nur das Produkt „Orca“ und „Capital Sensor Cluster“ in der Datenbank…
(28606, ‚Capital Sensor Cluster‘, 4, 21013, 1252842827);
(28606, ‚Capital Capacitor Battery‘, 9, 21019, 1252842827);
(28606, ‚Capital Cargo Bay‘, 37, 21027, 1252842827);
(28606, ‚Capital Computer System‘, 7, 21035, 1252842827);
(28606, ‚Capital Construction Parts‘, 15, 21037, 1252842827);
(28606, ‚Capital Ship Maintenance Bay‘, 7, 24558, 1252842827);
(28606, ‚Capital Corporate Hangar Bay‘, 4, 24560, 1252842827);
(28606, ‚Waste Factor‘, 10, NULL, 1252842827);
(21013, ‚Tritanium‘, 439155, 34, 1252842859);
(21013, ‚Pyerite‘, 100015, 35, 1252842859);
(21013, ‚Mexallon‘, 40468, 36, 1252842859);
(21013, ‚Isogen‘, 6592, 37, 1252842859);
(21013, ‚Nocxium‘, 1786, 38, 1252842859);
(21013, ‚Zydrine‘, 330, 39, 1252842859);
(21013, ‚Megacyte‘, 147, 40, 1252842859);
(21013, ‚Waste Factor‘, 10, NULL, 1252842859);
Was mach ich falsch? Bzw. jemand einen Denkanstoß für mich?