Kom ihåg mig?
Home Menu

Menu


Skriva om subquery till join

 
Ämnesverktyg Visningsalternativ
Oläst 2007-08-27, 02:07 #1
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Nån som kan skriva om följande sql-kod till en ordentlig joinad?
Kod:
select cref_host from hit where site=75 and date > \'2007-08-26\' and cref_host not in (select cref_host from hit where site = 75 and date < \'2007-08-26\' group by cref_host) group by cref_host
Den här frågan ger precis tvärtom det jag vill ha:
Kod:
select a.date,a.cref_host,b.cref_host from hit a, hit b where a.site = 75 and a.date >= \'2007-08-26\' and b.site = 75 and b.date < \'2007-08-26\' and b.cref_host = a.cref_host group by a.cref_host order by a.date desc
Enligt mysql-dokumentationen borde jag kunna utnyttja att b.cref_host skall bli null, dvs
Kod:
select a.date,a.cref_host,b.cref_host from hit a, hit b where a.site = 75 and a.date >= \'2007-08-26\' and b.site = 75 and b.date < \'2007-08-26\' and b.cref_host = a.cref_host and b.cref_host is null group by a.cref_host order by a.date desc
Men det funkar inte heller, blir inga resultat alls. Nån som har nån clue?

Det jag vill uppnå är alltså att plocka fram alla rader som har skapats sedan 2007-08-26 men inte finns tidigare i databasen. Nya rader dvs.
grazzy ä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 20:07.

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