Kom ihåg mig?
Home Menu

Menu


SQL fråga 1

Ämnesverktyg Visningsalternativ
Oläst 2005-12-06, 18:49 #1
alexut alexut är inte uppkopplad
Medlem
 
Reg.datum: Oct 2005
Inlägg: 102
alexut alexut är inte uppkopplad
Medlem
 
Reg.datum: Oct 2005
Inlägg: 102
Hej!

Nu vill jag sätta in slashdot kommentarerna i mitt galleri program.

Table ser ut såhär:

Kod:
id | subject     | date        | in_reply_to |
+----+------------------+---------------------+-------------+
| 1 | Original     | 0000-00-00 00:00:00 |    NULL 
| 2 | Another original | 0000-00-00 00:00:01 |    NULL 
| 3 | Reply to 1    | 0000-00-00 00:00:02 |      1 
| 4 | Reply to 1-2   | 0000-00-00 00:00:05 |      1
Kommandot jag kör är:

Kod:
select id,subject,date,in_reply_to from blog_comments WHERE blog_id = 1 ORDER BY in_reply_to, date;
det jag vill få fram är:

Kod:
id | subject     | date        | in_reply_to |
+----+------------------+---------------------+-------------+
| 1 | Original     | 0000-00-00 00:00:00 |    NULL 
| 3 | Reply to 1    | 0000-00-00 00:00:02 |      1 
| 4 | Reply to 1-2   | 0000-00-00 00:00:05 |      1
| 2 | Another original | 0000-00-00 00:00:01 |    NULL
Det jag vill göra är alltså ordna alla kommentarer efter enligt datum, därefter gruppera de efter "in_reply_to" i ett i en SQL fråga.

Går detta ?

Tack på förhand
alexut är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-12-06, 20:00 #2
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Kod:
select id,subject,date,isnull(in_reply_to,id) AS irt 
from blog_comments 
WHERE blog_id = 1 
ORDER BY irt, date;
Borde lösa det. Notera att isnull kan heta ifnull eller coalesce (sic) beroende på databas.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-12-06, 20:43 #3
alexut alexut är inte uppkopplad
Medlem
 
Reg.datum: Oct 2005
Inlägg: 102
alexut alexut är inte uppkopplad
Medlem
 
Reg.datum: Oct 2005
Inlägg: 102
great! det funkar utmärkt!

Nu ska jag bara klura ut hur jag ska få "original post" att sorteras efter datum.

Tack än en eg0master
alexut är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-12-06, 22:14 #4
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Kod:
select c.id AS id,c.subject AS subject,c.date AS date,isnull(c.in_reply_to,id) AS irt, od.date AS org_date
from blogcomments c, blogcomments od
where isnull(c.in_reply_to, c.id) = od.id
and c.blog_id = 1
ORDER BY od.date, c.date
eg0master ä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 01:13.

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