Avatar billede whatever Nybegynder
01. maj 2002 - 01:41 Der er 1 kommentar og
1 løsning

Samle to SQL-sætninger i en

Hej

Er det muligt, at samle disse to SQL-sætninger i en?

SELECT p.*, pt.post_subject, pt.post_text, u.users_nick, u.users_joined, u.users_posts FROM (ation_forum_posts AS p LEFT JOIN ation_forum_posts_text AS pt ON p.post_id=pt.post_id) LEFT JOIN ation_users AS u ON p.user_id=u.users_id WHERE p.topic_id=4 ORDER BY p.post_time

SELECT a.auth_title FROM ation_users AS u LEFT JOIN ation_auth AS a ON u.users_auth=a.auth_id
Avatar billede hansk Nybegynder
02. maj 2002 - 23:18 #1
Ja, det kan du godt, Du skal bruge en union SQL samt ændre list i select listen.
f.eks.:
SELECT
p.felt1, p.felt2, p.felt3, pt.post_subject, pt.post_text, u.users_nick, u.users_joined, u.users_posts
FROM (ation_forum_posts AS p LEFT JOIN ation_forum_posts_text AS pt  ON p.post_id=pt.post_id)
LEFT JOIN ation_users AS u  ON p.user_id=u.users_id
WHERE p.topic_id=4 ORDER BY p.post_time
UNION ALL
SELECT a.auth_title, " ",  " ", " ", " ", " ", " ", " " FROM ation_users AS u LEFT JOIN ation_auth AS a ON u.users_auth=a.auth_id 

Tricket er at selecte ens antal kolonner i de to selects, samt sørge for at kolonnerne parvis er defineret med samme datatype.
eks.: colonne 1 i første select er defineret som tekst, derfor skal kolonne 1 i anden select også være defineret som tekst.
Avatar billede whatever Nybegynder
02. maj 2002 - 23:45 #2
Ok. Du får point da dit svar er rigtigt. Jeg kan dog ikke bruge det, da union kræver mySQL 4.
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