Avatar billede bakkers123 Nybegynder
02. juni 2011 - 20:55 Der er 1 løsning

Hjælp til select fra to tabeller

Jeg har 2 tabeller en med nyheder og en med kommentarer til nyhederne.

newsDB som indeholder nyheder hvor der er en dato og tids felt i.

Så har jeg en feedbackDB som er de kommentarer der er til nyhederne, også her er der en dato og tids felt.

De hænger sammen via et id i newsDB som peger på en newsCommentId i feedbackDB.

Jeg vil gerne have en liste sorteret efter dato og tid så jeg får de 5 nyheder hvor der senest har været aktivitet enten ved at det er en ny nyhed i NewsDB som er oprettet eller om man har skrevet en kommentar til en ældre nyhed i feedbackDB. Og samme nyhed må selvfølgelig ikke optræde 2 gange :)

Her er så først newsDB som er den der indeholder nyhederne

CREATE TABLE `newsdb` (
`Title` varchar(100) NOT NULL,
`Date` date NOT NULL default '0000-00-00',
`Intro` text NOT NULL,
`Text` longtext NOT NULL,
`time` time NOT NULL default '00:00:00',
`id` mediumint(9) NOT NULL auto_increment,
`userId` bigint(20) NOT NULL default '0',
`active` tinyint(4) NOT NULL default '1',
PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='Nyheder' AUTO_INCREMENT=563 ;

Og her er så feedbackDB som indeholde evtuelle kommentarer til en nyhed

CREATE TABLE `feedbackdb` (
`UserId` bigint(20) NOT NULL,
`Text` longtext NOT NULL,
`Created` date NOT NULL default '0000-00-00',
`VTime` time NOT NULL default '00:00:00',
`newsComment` mediumint(9) NOT NULL default '0',
KEY `NewUserId` (`NewUserId`),
KEY `NewRefUserId` (`NewRefUserId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Feedback';

Og det som jeg ønsker at få ud er den nyhed hvor der senest er sket noget ved, enten at det er en ny nyhed der er oprettet og er den nyeste også i forhold til feedbackDB.

ex...

I newsDB kan det f.eks være disse 5 nyheder sorteret efter dato

1. nyeste nyhed
2. nyhed 2
3. nyhed 3
4. nyhed 4
5. nyhed 5 som så er den ældste

Men hvis der har været en kommentar til nyhed 3, som det nyeste så skal rækkefølgen blive sådan her.

3. nyhed 3
1. nyeste nyhed
2. nyhed 2
4. nyhed 4
5. nyhed 5 som så er den ældste

Håber meget i kan hjælpe da mine sql evner desværre ikke rækker til dette.
Avatar billede bakkers123 Nybegynder
02. juni 2011 - 22:22 #1
Nå fandt selv en løsning og lukker bare tråden.
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