Kom ihåg mig?
Home Menu

Menu


Slutföra SQL query

 
 
Ämnesverktyg Visningsalternativ
Oläst 2012-09-06, 18:36 #1
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Det är inget fel att använda subquerys, men ibland finns det effektivare sätt att lösa saker på, men de kan vara svårare att förklara.
Håller med. Det finns fall där det orsakar problem men många gånger leder sub-queries till tydlig kod och fullt godtagbar prestanda. Det beror på helt enkelt. Är man osäker kan man testa olika lösningar och mäta skillnaden.
dAEk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-06, 16:12 #2
Danski Danski är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2005
Inlägg: 1 208
Danski Danski är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jul 2005
Inlägg: 1 208
ORDER BY 1 berättar att det ska sorteras enligt första kolumnen i svaret.
Gör dig själv en tjänst och glöm bort detta direkt igen och skriv alltid ut kolumnnamn istället =)
Danski är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-06, 16:54 #3
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av Danski Visa inlägg
ORDER BY 1 berättar att det ska sorteras enligt första kolumnen i svaret.
Gör dig själv en tjänst och glöm bort detta direkt igen och skriv alltid ut kolumnnamn istället =)
Kan inte annat än hålla med. Det är för övrigt bra att du är lite ovan vid subqueries eftersom man bör hålla sig borta från sådana så gott det går
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-06, 18:59 #4
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Om du kör subqueryn för sig och byter h.id mot 1 respektive 2 vid olika körningar så kan du se att den tar fram det största/senaste datumet för alla inläggen i just den tråden:

SELECT Max(Date) FROM forum_posts WHERE thread_id = 1

respektive :

SELECT Max(Date) FROM forum_posts WHERE thread_id = 2

när jag i Subqueryn skriver ... FROM forum_heads h ... så sätter jag upp ett alias som heter "h" som gör att de blir kortare att skriva. och då kan jag skriva "h.id" i stället för "forum_heads.id".

h.id kopplar dynamiskt ihop den inre subqueryn med varje rad i den yttre SQL-queryn där vi satt ett alias på forum_heads till p (jag kallade den tabellen felaktigt för forum_threads i några tidigare inlägg).

Du kan inte nå den inre subqueryn på samma sätt från den yttre utan det funkar bara inifrån och ut så att säga. Detta gör att man kan skriva mycket koplexa subqueryn som var och en är isolerad från den yttre SQL-frågan, vilket blir mycket smidigt om man vill göra riktigt komplexa subqueryn.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-06, 23:38 #5
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
jonssondesign jonssondesign är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2010
Inlägg: 709
Har inte läst några av de ovanstående kommentarerna speciellt noga, men slänger ut detta ändå..

Detta bör fungera:

PHP-kod:
SELECT FROM forum_posts WHERE thread != '0' UNION SELECT FROM forum_threads WHERE forum_column $_GET['f'ORDER BY date DESC
Se till att säkra GET bara!
jonssondesign är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 03:59.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017