Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 4115 4116 4117 4118 [4119] 4120 4121 4122 4123 ... 6582 nächste » letzte »
erste ungelesene Seite | letzter Beitrag 
Ashtray

ashtray2
 
Zitat von -Marvin-

 
Zitat von Ashtray

 
Zitat von Noch_ein_Kamel

select a.foo from bla as a join ...?


das will ich eben nicht weil dann alle querys ohne ende aufgeblasen werden. ich brauch nicht 2-3 Daten sondern eher 20 oder so traurig



dann musst du eindeutige spaltennamen vergeben..


traurig
28.01.2010 21:47:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von Ashtray

 
Zitat von -Marvin-

 
Zitat von Ashtray

 
Zitat von Noch_ein_Kamel

select a.foo from bla as a join ...?


das will ich eben nicht weil dann alle querys ohne ende aufgeblasen werden. ich brauch nicht 2-3 Daten sondern eher 20 oder so traurig



dann musst du eindeutige spaltennamen vergeben..


traurig



brauchst du denn wirklich alle spalten?
28.01.2010 21:48:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
Besser die Querys aufblasen, als die Results aufblasen.
28.01.2010 21:51:53  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
Ich möchte nicht alle querys anpacken müssen nur weil ich mal eine nicht brauch und einmal ne andere nicht traurig
28.01.2010 21:51:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[Dicope]

[Dicope]
 
Zitat von Ashtray

SELECT * FROM `videos` JOIN `users` ON `videos`.`userid` = `users`.`userid`

Aber: In beiden tabellen gibt es `date` und ich will das date von `videos`, bekomme aber das von `users`


SELECT `videos`.*, `users`.* [...]

Ich formulier sowas aber lieber als impliziten Equijoin:

SELECT `videos`.*, `users`.* FROM `videos`, `users` WHERE `videos`.`userid` = `users`.`userid`

Geschmackssache.
28.01.2010 21:54:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Na, da haste beim Tabellen Design verkackt Breites Grinsen

Ein User braucht kein "date". Der hat vielleicht ein "registered" oder "last_login".

Genauso braucht eigentlich ein Video auch kein Date. Sondern eher sowas wie "edited", "uploaded" oder "last_seen" Augenzwinkern Breites Grinsen

Ansonsten geht natürlich "SELECT v.*, u.* FROM videos v JOIN users u ON u.id = v.id" grundsätzlich schon. Man muss sich aber darüber im klaren sein, dass dinge wie fetchObject() natürlich in die Namensfalle tappen. Ein fetchArray() hingegen vollkommen unbeeindruckt ist. Dein Result aber beim verschieben von Spalten komplett anders ausfallen wird Breites Grinsen
28.01.2010 21:54:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
 
Zitat von [Dicope]

 
Zitat von Ashtray

SELECT * FROM `videos` JOIN `users` ON `videos`.`userid` = `users`.`userid`

Aber: In beiden tabellen gibt es `date` und ich will das date von `videos`, bekomme aber das von `users`


SELECT `videos`.*, `users`.* [...]

Ich formulier sowas aber lieber als impliziten Equijoin:

SELECT `videos`.*, `users`.* FROM `videos`, `users` WHERE `videos`.`userid` = `users`.`userid`

Geschmackssache.



Ist das nicht eh nur ein Feature von MySQL und wird intern eh zu nem Join umgebaut? Oder Irre ich da jetzt?
28.01.2010 21:56:11  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SirSiggi

SirSiggi
 
Zitat von [Dicope]

(...)

Ich formulier sowas aber lieber als impliziten Equijoin:

SELECT `videos`.*, `users`.* FROM `videos`, `users` WHERE `videos`.`userid` = `users`.`userid`

Geschmackssache.


Letztere Variante finde ich hässlich, weil die Joins mit den Bedingungen vermixt werden.
28.01.2010 21:56:34  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
 
Zitat von GH@NDI

Na, da haste beim Tabellen Design verkackt Breites Grinsen

[...]


Mein Vorgänger bitteschön! Breites Grinsen
28.01.2010 21:56:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Noch_ein_Kamel

Guerilla
alternativ
select *, a.foo as afoo, b.foo as bfoo ...
aber da musste auch den query anfassen und halt die problematischen spalten eintragen und hast im ergebniss nen überflüssiges foo ;P
28.01.2010 21:57:00  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[Dicope]

[Dicope]
 
Zitat von SirSiggi

Besser die Querys aufblasen, als die Results aufblasen.


Kommt drauf an. (Yay. Die Topantwort um Zeit zu schinden.)

Letzlich kommt es insbesondere auf die Art der Selektion an. Wenn du zig Joins, Sorts, Gruppierungen, ... hast, gibt eine Projektion natürlich Sinn, weil im Baum ganz nach unten gezogen wird. Wenn du aber nur anhand eines einzigen Attributs selektierst und die Tabelle hoffentlich sogar einen Index auf dieses Attribut hat, ist ein Performancegewinn bei normalen Tupelgrößen zu vernachlässigen - insbesondere wenn du dadurch den Vorteil hast, eben nicht jede Spalte persönlich zu benennen.
28.01.2010 21:57:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von GH@NDI

 
Zitat von [Dicope]

 
Zitat von Ashtray

SELECT * FROM `videos` JOIN `users` ON `videos`.`userid` = `users`.`userid`

Aber: In beiden tabellen gibt es `date` und ich will das date von `videos`, bekomme aber das von `users`


SELECT `videos`.*, `users`.* [...]

Ich formulier sowas aber lieber als impliziten Equijoin:

SELECT `videos`.*, `users`.* FROM `videos`, `users` WHERE `videos`.`userid` = `users`.`userid`

Geschmackssache.



Ist das nicht eh nur ein Feature von MySQL und wird intern eh zu nem Join umgebaut? Oder Irre ich da jetzt?



du irrst nicht..
28.01.2010 21:57:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von [Dicope]

 
Zitat von SirSiggi

Besser die Querys aufblasen, als die Results aufblasen.


Kommt drauf an. (Yay. Die Topantwort um Zeit zu schinden.)

Letzlich kommt es insbesondere auf die Art der Selektion an. Wenn du zig Joins, Sorts, Gruppierungen, ... hast, gibt eine Projektion natürlich Sinn, weil im Baum ganz nach unten gezogen wird. Wenn du aber nur anhand eines einzigen Attributs selektierst und die Tabelle hoffentlich sogar einen Index auf dieses Attribut hat, ist ein Performancegewinn bei normalen Tupelgrößen zu vernachlässigen - insbesondere wenn du dadurch den Vorteil hast, eben nicht jede Spalte persönlich zu benennen.



also, ich glaube kaum, das da irgendwas indiziert ist, so wie ich das bis jetzt hier verstehe Breites Grinsen
28.01.2010 21:59:22  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
 
Zitat von -Marvin-

 
Zitat von GH@NDI

Ist das nicht eh nur ein Feature von MySQL und wird intern eh zu nem Join umgebaut? Oder Irre ich da jetzt?



du irrst nicht..



Die Doku sagt:

 

The FROM table_references clause indicates the table or tables from which to retrieve rows. If you name more than one table, you are performing a join. For information on join syntax, see Section 12.2.8.1, “JOIN Syntax”. For each table specified, you can optionally specify an alias.



Gut, es wird wohl nicht umgemoddelt, aber ist halt ne alternative Syntax für einen impliziten JOIN (Yeah, gut rausgeredet Breites Grinsen)
28.01.2010 21:59:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[Dicope]

[Dicope]
 
Zitat von GH@NDI

 
Zitat von [Dicope]

 
Zitat von Ashtray

SELECT * FROM `videos` JOIN `users` ON `videos`.`userid` = `users`.`userid`

Aber: In beiden tabellen gibt es `date` und ich will das date von `videos`, bekomme aber das von `users`


SELECT `videos`.*, `users`.* [...]

Ich formulier sowas aber lieber als impliziten Equijoin:

SELECT `videos`.*, `users`.* FROM `videos`, `users` WHERE `videos`.`userid` = `users`.`userid`

Geschmackssache.



Ist das nicht eh nur ein Feature von MySQL und wird intern eh zu nem Join umgebaut? Oder Irre ich da jetzt?


Nein. Das ist ein kartesisches Produkt aus dem du alles rausziehst, wo die Joinbedingung nicht stimmt. Das sollte eigentlich von jeder Datenbank so optimiert werden, dass es eben nicht erst das kartesische Produkt bildet. Die explizite Equijoin-Semantik (INNER JOIN) gibts soweit ich weiß erst seit SQL92.
28.01.2010 21:59:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von Ashtray

 
Zitat von GH@NDI

Na, da haste beim Tabellen Design verkackt Breites Grinsen

[...]


Mein Vorgänger bitteschön! Breites Grinsen



verkackt isses trotzdem..
28.01.2010 22:00:02  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
 
Zitat von Ashtray

 
Zitat von GH@NDI

Na, da haste beim Tabellen Design verkackt Breites Grinsen

[...]


Mein Vorgänger bitteschön! Breites Grinsen



Dann halt der! Paddel ihn rückwirkend! Breites Grinsen

Ich hab ja schon immer einen Bogen um Namen wie "date" gemacht, weil es mich zwingt die ollen Hochkomatas (`) zu benutzen, damit der SQL-Parser nicht über den Datentyp stolpert sondern meine Spalte genommen hat Breites Grinsen
28.01.2010 22:00:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von [Dicope]

 
Zitat von GH@NDI

 
Zitat von [Dicope]

 
Zitat von Ashtray

SELECT * FROM `videos` JOIN `users` ON `videos`.`userid` = `users`.`userid`

Aber: In beiden tabellen gibt es `date` und ich will das date von `videos`, bekomme aber das von `users`


SELECT `videos`.*, `users`.* [...]

Ich formulier sowas aber lieber als impliziten Equijoin:

SELECT `videos`.*, `users`.* FROM `videos`, `users` WHERE `videos`.`userid` = `users`.`userid`

Geschmackssache.



Ist das nicht eh nur ein Feature von MySQL und wird intern eh zu nem Join umgebaut? Oder Irre ich da jetzt?


Nein. Das ist ein kartesisches Produkt aus dem du alles rausziehst, wo die Joinbedingung nicht stimmt. Das sollte eigentlich von jeder Datenbank so optimiert werden, dass es eben nicht erst das kartesische Produkt bildet. Die explizite Equijoin-Semantik (INNER JOIN) gibts soweit ich weiß erst seit SQL92.



okay, dann haben wir uns beide geirrt ghandi Breites Grinsen
28.01.2010 22:01:16  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Der Paragraphenreiter wieder Breites Grinsen

Marvin: *ShakeHands* Breites Grinsen
28.01.2010 22:03:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von GH@NDI

Der Paragraphenreiter wieder Breites Grinsen

Marvin: *ShakeHands* Breites Grinsen



vor allem faengt er um die uhrzeit auch noch mit kartesichem produkt und so nem scheiss an.. ich glaub's hakt.. Pillepalle
28.01.2010 22:04:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[DK]Peacemaker

[dk]peacemaker
 
Zitat von Ashtray

 
Zitat von GH@NDI

Na, da haste beim Tabellen Design verkackt Breites Grinsen

[...]


Mein Vorgänger bitteschön! Breites Grinsen


Bei der Arbeit hat man nichts mit Videos und Usern zu tun, privat kannst du schlecht der Vorgänger sein, es sei denn es ist für deine Freundin. Da du aber schon mit Verlobung ankommst, wirst du wahrscheinlich schon vor langer Zeit alle ihre Datenbank auf den neusten Stand gebracht haben (hätte ich auch als erstes gemacht).

Bleibt also nur die Lets-Play Geschichte, richtig?
28.01.2010 22:07:13  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Da gabs doch mal so ne Initiative...



Yay! \o/
28.01.2010 22:07:24  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[Dicope]

[Dicope]
verschmitzt lachen
Da würd ich auch joinen.
28.01.2010 22:09:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Bluay

Bluay
...
Kennt sich wer mit nUnit aus?

Muss das Projekt erst kompilieren, bevor ichs in nUnit bekomme?
28.01.2010 22:11:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von GH@NDI

Da gabs doch mal so ne Initiative...

http://www.sveneppler.de/stuff/titten.jpg

Yay! \o/



i'm in..
28.01.2010 22:13:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[Dicope]

[Dicope]
 
Zitat von -Marvin-

 
Zitat von GH@NDI

Der Paragraphenreiter wieder Breites Grinsen

Marvin: *ShakeHands* Breites Grinsen



vor allem faengt er um die uhrzeit auch noch mit kartesichem produkt und so nem scheiss an.. ich glaub's hakt.. Pillepalle


Ach... Joins in relationalen Datenbanken machen doch gar keinen Spaß. Multi-Dimensional Partitioned Join auf Map-Reduce-Basis für den Gewinn. Breites Grinsen
28.01.2010 22:14:10  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
is ja gut jetzt..
28.01.2010 22:16:50  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
-Marvin-

-Marvin-
verschmitzt lachen
 
Zitat von GH@NDI

Da gabs doch mal so ne Initiative...

http://www.sveneppler.de/stuff/titten.jpg

Yay! \o/



wobei, das andere titten bild besser war Breites Grinsen also realistischer
28.01.2010 22:18:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[Dicope]

[Dicope]
Hey - ich muss gerade verkackte theoretische Informatik lernen. Ich freu mich doch, wenn ich an anderer Stelle mal nützliche Sachen anbringen kann...
28.01.2010 22:18:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Ashtray

ashtray2
Ich finds schön dass ihr euch so mit dem Problem beschäftigt, morgen hab ichs dann vielleicht auch nochmal gelesen und vielleicht auch verstanden traurig

e: Gut kombiniert Senseo!
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Ashtray am 28.01.2010 22:20]
28.01.2010 22:19:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Gehirnsalat ( wir unter uns )
« erste « vorherige 1 ... 4115 4116 4117 4118 [4119] 4120 4121 4122 4123 ... 6582 nächste » letzte »

mods.de - Forum » Webdesign & Coding » 

Hop to:  

Thread-Tags:
Mod-Aktionen:
23.08.2018 12:40:15 TriggerTG hat den Thread-Titel geändert (davor: "Wiederbelebungssalat")
09.03.2017 08:55:19 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
21.05.2014 16:08:26 Redh3ad hat den Thread-Titel geändert (davor: "Hochzeitssalat")
10.05.2014 09:43:28 Redh3ad hat den Thread-Titel geändert (davor: "Gehirnsalat")
19.10.2013 21:43:03 [DK]Peacemaker hat diesen Thread repariert.
04.10.2013 20:11:45 TriggerTG hat den Thread-Titel geändert (davor: "Damiferkel-Salat")
29.08.2013 19:59:27 [DK]Peacemaker hat den Thread-Titel geändert (davor: "HerpDerpSalat")
19.08.2013 10:04:19 TriggerTG hat den Thread-Titel geändert (davor: "SirSiggiSalat")
13.08.2013 18:43:13 TriggerTG hat den Thread-Titel geändert (davor: "Kamelwochensalat")
05.08.2013 09:47:37 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
24.06.2013 16:30:39 TriggerTG hat den Thread-Titel geändert (davor: "cmssalat")
20.06.2013 12:58:35 TriggerTG hat den Thread-Titel geändert (davor: "Krissalat")
13.06.2013 10:59:25 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")
08.06.2013 11:28:06 TriggerTG hat den Thread-Titel geändert (davor: "rABBIntensalat")
03.06.2013 09:56:52 TriggerTG hat den Thread-Titel geändert (davor: "Gehirnsalat")

| tech | impressum