Hallo Tutorials,
Hab mich mal an den Joins versucht die mir bisher völlig unverständlich waren.
Ist mir sogar erstaunlicherweisse recht gut gelungen.
Vieleicht kann wer von euch was dazu sagen was man anders oder besser machen könnte.
Auserdem würde ich gerne wissen wie ich die Zeit messen kann. Ist hierr möglicherweisse ein Left inner oder sonstiger Join besser und wenn ja weshalb? Würde gerne mehr darüber erfahren und bin daher über jeden Tip dankbar.
Tabelle GebaeudestufenUser beinhaltet nur die jeweilige Stufe(int) des jeweiligen gebauten Gebäudes je User.
Tabelle Gebaeudeanforderungen beinhaltet zu jeden Gebäude und jeder Stufe die zum Bau benötigten Ressourcen.
Ausgabe: Nächste Baustufe des Gebäudes und die dazu benötigten Ressourcen.
Zum Concat: zb beim Lager kommt dabei der Spaltenname Lager2 raus.
Die Zahl darf nicht höher als 10 sein weil es nur 10 Stufen gibt (Stufe11 hätte keine Ressourcen).
Also bin für Tipss dankbar! Gruss Joe.
Hab mich mal an den Joins versucht die mir bisher völlig unverständlich waren.
Ist mir sogar erstaunlicherweisse recht gut gelungen.
Vieleicht kann wer von euch was dazu sagen was man anders oder besser machen könnte.
Auserdem würde ich gerne wissen wie ich die Zeit messen kann. Ist hierr möglicherweisse ein Left inner oder sonstiger Join besser und wenn ja weshalb? Würde gerne mehr darüber erfahren und bin daher über jeden Tip dankbar.
SQL:
SELECT
t1.*,
t2.*
FROM
Gebaeudeanforderungen AS t1,
GebaeudestufenUser AS t2
WHERE
t2.Username='$Username'
AND
t1.Gebäude
IN
(CONCAT('Lager',CASE WHEN (1+t2.Lager>=10) THEN '10' ELSE 1+t2.Lager END)
,CONCAT('Bibliothek',CASE WHEN (1+t2.Bibliothek>=10) THEN '10' ELSE 1+t2.Bibliothek END)
,CONCAT('Krankenstation',CASE WHEN (1+t2.Krankenstation>=10) THEN '10' ELSE 1+t2.Krankenstation END)
,CONCAT('Labor',CASE WHEN (1+t2.Labor>=10) THEN '10' ELSE 1+t2.Labor END)
,CONCAT('Brunnen',CASE WHEN (1+t2.Brunnen>=10) THEN '10' ELSE 1+t2.Brunnen END)
,CONCAT('Tank',CASE WHEN (1+t2.Tank>=10) THEN '10' ELSE 1+t2.Tank END)
,CONCAT('Werkstatt',CASE WHEN (1+t2.Werkstatt>=10) THEN '10' ELSE 1+t2.Werkstatt END)
,CONCAT('Funkanlage',CASE WHEN (1+t2.Funkanlage>=10) THEN '10' ELSE 1+t2.Funkanlage END)
,CONCAT('Funkturm',CASE WHEN (1+t2.Funkturm>=10) THEN '10' ELSE 1+t2.Funkturm END)
,CONCAT('Viehstall',CASE WHEN (1+t2.Viehstall>=10) THEN '10' ELSE 1+t2.Viehstall END)
,CONCAT('Garten',CASE WHEN (1+t2.Garten>=10) THEN '10' ELSE 1+t2.Garten END)
,CONCAT('Garage',CASE WHEN (1+t2.Garage>=10) THEN '10' ELSE 1+t2.Garage END)
,CONCAT('Schlafquartiere',CASE WHEN (1+t2.Schlafquartiere>=10) THEN '10' ELSE 1+t2.Schlafquartiere END)
,CONCAT('Abwehrtürme',CASE WHEN (1+t2.Abwehrtürme>=10) THEN '10' ELSE 1+t2.Abwehrtürme END)
,CONCAT('Mauern',CASE WHEN (1+t2.Mauern>=10) THEN '10' ELSE 1+t2.Mauern END));
Tabelle GebaeudestufenUser beinhaltet nur die jeweilige Stufe(int) des jeweiligen gebauten Gebäudes je User.
Tabelle Gebaeudeanforderungen beinhaltet zu jeden Gebäude und jeder Stufe die zum Bau benötigten Ressourcen.
Ausgabe: Nächste Baustufe des Gebäudes und die dazu benötigten Ressourcen.
Zum Concat: zb beim Lager kommt dabei der Spaltenname Lager2 raus.
Die Zahl darf nicht höher als 10 sein weil es nur 10 Stufen gibt (Stufe11 hätte keine Ressourcen).
Also bin für Tipss dankbar! Gruss Joe.
Zuletzt bearbeitet von einem Moderator: