Avatar billede baileys Nybegynder
20. august 2008 - 20:51 Der er 3 kommentarer

Omskrivning af SQL til MySQL 4

Jeg har en SQL sætning, som virker fint på MySQL 5, men ikke på 4'eren - og jeg kan ikke lige hitte på en løsning til at skrive den om, så den virker på samme måde i MySQL 4...

Forestil jer følgende:

Tabel:
Id  ParentId  Title
1    1          Test Title
2    2         
3    3          Test Title 2

Jeg ønsker at hente alle de records ud, som ikke har en record der er linket via ParentId - i dette tilfælde kun Id nr. 3, da 1 har er linket til 2 via 2's ParentId, og 2 i sig selv ikke er en "top post".

Hvad jeg har benyttet på MySQL 5:

SELECT r.id, r.title
FROM table r
WHERE r.id = r.parentid
AND r.id NOT
IN (
SELECT p.parentid
FROM table p
WHERE p.parentid = r.id
AND p.id != p.parentid
)
ORDER BY r.id DESC
LIMIT 10

Nogen der kan gennemskue den og hjælpe?
Avatar billede arne_v Ekspert
24. august 2008 - 01:35 #1
prøv:

SELECT r.id, r.title
FROM table r LEFT JOIN table p ON p.parentid = r.id AND p.id != p.parentid
WHERE r.id = r.parentid AND p.id IS NULL
ORDER BY r.id DESC
LIMIT 10
Avatar billede arne_v Ekspert
30. august 2008 - 02:08 #2
OK ?
Avatar billede arne_v Ekspert
25. oktober 2008 - 23:16 #3
?
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