Avatar billede aggie Nybegynder
18. maj 2001 - 13:14 Der er 2 kommentarer og
1 løsning

Sub selects/views alternativ?

Jeg har konstrueret en database til en side, der efter normalisering for at kunne få den række data jeg ønsker, skal foretage

SELECT Paragraph.Id, Paragraph.Title, Paragraph.Content, Page.Id
FROM Paragraph, Page
WHERE Paragraph.Id  IN
SELECT Site.Paragraph_id
FROM Site
WHERE Site.Page_id = 1 AND Page.Id = 1

men sub-selects er tilsyneladende ikke impementeret endnu?? Så kan det da være det samme med al den her snak om at OS software er lige så godst som proprietære systemer...

Hvad kan jeg gøre istedet?

Der er et ERD <a href=\"http://www.aggie.dk/kilder/er_diagram_site_db.gif\">her</a>, der kan hjælpe med at overskue hvad jeg vil..
Avatar billede defrost Nybegynder
18. maj 2001 - 13:23 #1
Er det ikke bare sådan:

select
  pg.id,
  pg.title,
  pg.content,
  pa.id
from
  paragraph,
  page,
  site
where
  paragraph.id = site.paragraph_id
  and site.page_id = 1
  and page.id = 1
Avatar billede limemedia Nybegynder
18. maj 2001 - 13:33 #2
SELECT Paragraph.Id, Paragraph.Title, Paragraph.Content, Page.Id
FROM Paragraph, Page
WHERE Paragraph.Id  IN
SELECT Site.Paragraph_id
FROM Site
WHERE Site.Page_id = 1 AND Page.Id = 1

burde kunne omskrives til

SELECT pg.Id, pg.Title, pg.Content, pa.Id AS PageID
FROM Paragraph pg, Page pa, Site si
WHERE pg.PageID=PageID AND pg.ID=si.Paragraph_id AND si.Page_ID=1 AND pa.Id=1


Skal du ikke joine en PageID i Paragraf til Id i Page ?
og kan du ikke direkte joine de tre tabeller sammen istedet for subselects ?
Avatar billede aggie Nybegynder
18. maj 2001 - 15:59 #3
Hmm, det er jo mig der er en nar... Man kan da bare

SELECT
    Paragraph.Id as id,Paragraph.Title as title,Paragraph.Content as content,Site.Page_id AS parent_id
    FROM
        Paragraph,Site
        WHERE Site.Paragraph_id = Paragraph.Id

Det er jo ikke nødvendigt at tilgribe Page.Id direkte, den er jo = Site.Page_id

Så slipper man for at joine alle tre, men bare Paragraph og Site
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