Gå til innhold

Hvorfor virker ikke denne queryen?


Anbefalte innlegg

SELECT p.navn,p.id, v.vote FROM produkter as p left join votes as v ON ( p.id = v.prod_id ) WHERE p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

HEnter ut fra to tabeler.. henter data fra produkt tabelen og votes tabelen.

 

Hvis det er ting å hente ut fra begge tabelene virker alt bra, men hvis det ikke er noe å hente ut fra votes tabelen så får jeg ikke noe tilbake på "navn" men "id" ser grei ut som.. MEn det skulle jeg vel?

 

får rett antall rekker da..

 

EDIT: Fikk en glup ide når jeg postet her:

 

SELECT p.navn,p.id, v.vote FROM produkter as p left outer join votes as v ON ( p.id = v.prod_id ) WHERE p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

MEn virket ikke det heler

Endret av trondes
Lenke til kommentar
Videoannonse
Annonse
SELECT p.navn,p.id, v.vote FROM produkter as p left join votes as v ON ( p.id = v.prod_id ) WHERE  p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn;

 

får rett antall rekker da..

 

EDIT: Fikk en glup ide når jeg postet her:

 

SELECT p.navn,p.id, v.vote FROM produkter as p left outer join votes as v ON ( p.id = v.prod_id ) WHERE  p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

MEn virket ikke det heler

5756529[/snapback]

 

Hva med..

SELECT p.navn, p.id, v.vote FROM produkter p left join votes v ON ( p.id = v.prod_id ) WHERE p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

as brukes når du skal rename en kolonne, så vidt jeg vet. tabeller renamer du på direkte.

 

type select p.navn as produktnavn, v.vote as produktstemmer from product p, vote v osv etc mm

Lenke til kommentar
[Hva med..
SELECT p.navn, p.id, v.vote FROM produkter p left join votes v ON ( p.id = v.prod_id ) WHERE p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

as brukes når du skal rename en kolonne, så vidt jeg vet. tabeller renamer du på direkte.

 

type select p.navn as produktnavn, v.vote as produktstemmer from product p, vote v osv etc mm

5756661[/snapback]

 

Nei, er fult mulig å bruke AS for å gi tabeler et enklere navn.

Lenke til kommentar
SELECT p.navn,p.id, v.vote FROM produkter as p left join votes as v ON ( p.id = v.prod_id ) WHERE  p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

HEnter ut fra to tabeler.. henter data fra produkt tabelen og votes tabelen.

 

Hvis det er ting å hente ut fra begge tabelene virker alt bra, men hvis det ikke er noe å hente ut fra votes tabelen så får jeg ikke noe tilbake på "navn" men "id" ser grei ut som.. MEn det skulle jeg vel?

 

får rett antall rekker da..

 

EDIT: Fikk en glup ide når jeg postet her:

 

SELECT p.navn,p.id, v.vote FROM produkter as p left outer join votes as v ON ( p.id = v.prod_id ) WHERE  p.id = '<id>' AND v.kunde_id = '<en_kunde_id>' ORDER BY p.navn

 

MEn virket ikke det heler

5756529[/snapback]

He he, dette er veldig logisk. Se hva spørringen din gjør:

 

Jeg vil ha informasjon fra Votes og eventuelt produkter hvor vi evt har en sammenheng, men votes må tilfredsstille noe og produkter må tilfredsstille noe.

 

Altså, hvis produkter er tom kan den ikke tilfredsstille noe som helst, ergo feiler den sammenligningen, og spørringen returnerer ikke noe data.

Endret av roac
Lenke til kommentar

He he, dette er veldig logisk. Se hva spørringen din gjør:

 

Jeg vil ha informasjon fra Votes og eventuelt produkter hvor vi evt har en sammenheng, men votes må tilfredsstille noe og produkter må tilfredsstille noe.

 

Altså, hvis produkter er tom kan den ikke tilfredsstille noe som helst, ergo feiler den sammenligningen, og spørringen returnerer ikke noe data.

5759807[/snapback]

 

Selfølgelig virker det logisk når du forklarte det til meg :) men mitt første forsøk på en join.. men hmm... er det en mulighet å bruke noe slik i en join da? en mulighet til å legge til WHERE fra en av tabelene ?

 

Eller må jeg bruke 2 spørringer ? ( som jeg pleier )

Endret av trondes
Lenke til kommentar

He he, dette er veldig logisk. Se hva spørringen din gjør:

 

Jeg vil ha informasjon fra Votes og eventuelt produkter hvor vi evt har en sammenheng, men votes må tilfredsstille noe og produkter må tilfredsstille noe.

 

Altså, hvis produkter er tom kan den ikke tilfredsstille noe som helst, ergo feiler den sammenligningen, og spørringen returnerer ikke noe data.

5759807[/snapback]

 

Selfølgelig virker det logisk når du forklarte det til meg :) men mitt første forsøk på en join.. men hmm... er det en mulighet å bruke noe slik i en join da? en mulighet til å legge til WHERE fra en av tabelene ?

 

Eller må jeg bruke 2 spørringer ? ( som jeg pleier )

5760037[/snapback]

For det første, jeg bommet litt med forklaringen, og blandet produkter og votes, men prinsippet var likevel det samme.

 

Du kan jo prøve med denne?

 

SELECT p.navn,p.id, v.vote FROM produkter as p left join votes as v ON ( p.id = v.prod_id ) WHERE p.id = '<id>' AND ifnull(v.kunde_id,'<en_kunde_id>') = '<en_kunde_id>' ORDER BY p.navn

 

Uten at jeg har noen SQL Server å prøve koden på her.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...