Avatar billede danic Nybegynder
16. august 2003 - 10:14 Der er 16 kommentarer og
2 løsninger

Hjælp til select med 2 tabeler

Hvordan laver jeg min select om til at hente "subject" feltet fra en tabel som hedder threads, ud fra threadid værdien som er ens i både posts og threads


SELECT DISTINCT threadid, postid, subject FROM posts ORDER BY postid desc limit 0,5
Avatar billede clausjul Nybegynder
16. august 2003 - 10:24 #1
SELECT posts.subject FROM posts,threads WHERE posts.threadid=threads.threadid
Avatar billede clausjul Nybegynder
16. august 2003 - 10:40 #2
SELECT posts.subject FROM posts,threads WHERE posts.threadid=threads.threadid ORDER BY posts.postid DESC LIMIT 0,5
Avatar billede danic Nybegynder
16. august 2003 - 11:07 #3
Hvor skal min ( DISTINCT threadid ) være i den select?
Avatar billede clausjul Nybegynder
16. august 2003 - 11:14 #4
Du kan prøve med

SELECT posts.subject FROM posts,threads WHERE posts.threadid=threads.threadid GROUP BY threads.threadid ORDER BY posts.postid DESC LIMIT 0,5

Altså GROUP BY statement - så threadid kan være unikke - men jeg er ikke sikker på stående fod.
Avatar billede danic Nybegynder
16. august 2003 - 11:26 #5
Nu sortere den ikke mere og den henter ikke threadid mere?
Avatar billede clausjul Nybegynder
16. august 2003 - 11:32 #6
Hvordan skal den sortere? På threadid eller subject?  Nå, men jeg har lagt et felt mere i nedenstående SQL:

SELECT posts.subject,threads.threadid FROM posts,threads WHERE posts.threadid=threads.threadid GROUP BY threads.threadid ORDER BY posts.postid DESC LIMIT 0,5
Avatar billede danic Nybegynder
16. august 2003 - 11:37 #7
Den skal sortere på postid højeste tal = sidste indlæg
Avatar billede clausjul Nybegynder
16. august 2003 - 11:47 #8
HM, kan du ikke vise mig resultatet af denne SQL?
Avatar billede danic Nybegynder
16. august 2003 - 11:55 #9
subject        threadid 
test af forum  23
Nyt design    22
Pioneer DVD    21
Powerballs    20
Nyt forum      19

threadid 20 bør stå først da den har den højeste postid (sidste indlæg)
Avatar billede clausjul Nybegynder
16. august 2003 - 12:03 #10
Prøv lige nedenstående, så jeg kan se hvordan postid ser ud. Og hvilken felttype har postid (int?)

SELECT posts.subject,threads.threadid, posts.postid FROM posts,threads WHERE posts.threadid=threads.threadid GROUP BY threads.threadid ORDER BY posts.postid DESC LIMIT 0,5
Avatar billede danic Nybegynder
16. august 2003 - 12:09 #11
subject        threadid  postid 
test af forum    23        40
Nyt design      22        39
Pioneer DVD      21        38
Powerballs      20        34
Nyt forum        19        33
Avatar billede danic Nybegynder
16. august 2003 - 12:12 #12
Hvis jeg kigger i posts tabellen:
sidste postid = 41 og threadid = 20 den er ikke med
Avatar billede danic Nybegynder
16. august 2003 - 12:14 #13
Her er min tabel

CREATE TABLE posts (
  topicid smallint(6) NOT NULL default '0',
  threadid int(10) NOT NULL default '0',
  postid int(10) NOT NULL auto_increment,
  author varchar(32) NOT NULL default '',
  message text NOT NULL,
  date text NOT NULL,
  timestamp timestamp(14) NOT NULL,
  PRIMARY KEY  (postid),
  KEY topicid (topicid),
  KEY threadid (threadid)
) TYPE=MyISAM;
Avatar billede clausjul Nybegynder
16. august 2003 - 12:35 #14
Jeg troede det var to tabeller? Hvis ja, så send lige den anden tabel.
Avatar billede danic Nybegynder
16. august 2003 - 12:38 #15
CREATE TABLE threads (
  threadid smallint(6) NOT NULL auto_increment,
  topicid smallint(6) NOT NULL default '0',
  subject varchar(128) NOT NULL default '',
  views smallint(4) NOT NULL default '0',
  replies smallint(5) NOT NULL default '0',
  author varchar(32) NOT NULL default '',
  date text NOT NULL,
  timestamp timestamp(14) NOT NULL,
  PRIMARY KEY  (threadid),
  KEY topicid (topicid),
  KEY threadid (threadid)
) TYPE=MyISAM;
Avatar billede clausjul Nybegynder
16. august 2003 - 13:32 #16
Som jeg kan se ud fra tabellen, så er det bedre med denne SQL:

SELECT posts.subject,threads.threadid FROM posts,threads WHERE posts.threadid=threads.threadid GROUP BY threads.threadid ORDER BY posts.timestamp DESC LIMIT 0,5

timestamp-feltet er vel den bedste til at foretage en sortering?
Avatar billede danic Nybegynder
16. august 2003 - 13:56 #17
subject          threadid 
test af forum      23
Nyt design        22
Pioneer DVD        21
Powerballs        20
Nyt forum          19

Den giver samme resultat som den første?
Avatar billede danic Nybegynder
07. september 2003 - 14:49 #18
ikke noget svar jeg kunne bruge, jeg lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester