Avatar billede sjh Nybegynder
21. august 2005 - 00:27 Der er 13 kommentarer og
1 løsning

DISTINCT og 2 tabeller

Jeg har 2 tabeller select_oprindelse og user_data her vil jeg godt have kørt select_oprindelse ud..
men den skal kun tag dem med som er i user_data.user_oprindelse og kun dem hvor user_data.user_id = fx. 2

select_oprindelse
  ID Int(11) auto increment
  UID Int(11)
  Text Varchar(255)

user_data
  ID Int(11) auto increment
  user_id Int(11)
  user_oprindelse Int(11)
Avatar billede arne_v Ekspert
21. august 2005 - 00:33 #1
SELECT select_oprindelse.*
FROM select_oprindelse,user_data
WHERE select_oprindelse.x = user_data.y AND user_data.user_id = 2

[du skal selv erstatte x og y med de feltnavne som skal matche - jeg er i tvivl
om hvilke det er]
Avatar billede sjh Nybegynder
21. august 2005 - 00:34 #2
skulle måske lige sige at user_data.user_oprindelse passer til select_oprindelse.UID
Avatar billede arne_v Ekspert
21. august 2005 - 00:35 #3
så er det

SELECT select_oprindelse.*
FROM select_oprindelse,user_data
WHERE user_data.user_oprindelse=select_oprindelse.UID AND user_data.user_id = 2
Avatar billede sjh Nybegynder
21. august 2005 - 00:39 #4
ja, men jeg får ikke noget ud.. skulle gerne have UID og Text ud.. (Kan man select_oprindelse.*)
Avatar billede arne_v Ekspert
21. august 2005 - 00:40 #5
ja - den skulle tage alle kolonner fra select_oprindelse

ingen data tyder på at ingen rækker matcher kriteriet
Avatar billede sjh Nybegynder
21. august 2005 - 00:41 #6
jo jeg for bare formange ud :D
Avatar billede sjh Nybegynder
21. august 2005 - 00:42 #7
skal ha noget DISTINCT på
Avatar billede arne_v Ekspert
21. august 2005 - 00:43 #8
er det duplikater ?
Avatar billede arne_v Ekspert
21. august 2005 - 00:43 #9
SELECT DISTINCT select_oprindelse.*
...

hvis det er simple duplikater
Avatar billede sjh Nybegynder
21. august 2005 - 00:44 #10
user_data.user_oprindelse kan godt have "talet" 3 flere gange..
Avatar billede arne_v Ekspert
21. august 2005 - 00:45 #11
ellers hvis du er på MySQL 4.1 så:

SELECT *
FROM select_oprindelse
WHERE uid IN (SELECT user_oprindelse FROM user_data WHERE user_id = 2)
Avatar billede sjh Nybegynder
21. august 2005 - 00:46 #12
Har fået det til at virke SELECT DISTINCT select_oprindelse.* (Y)

smid et svar :-)
Avatar billede arne_v Ekspert
21. august 2005 - 00:48 #13
ok
Avatar billede sjh Nybegynder
21. august 2005 - 00:50 #14
Tak for hjælpen endnu en gang :D
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