/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
SQL join
Fra : Stig H. Jacobsen


Dato : 30-08-04 21:25

Kan man omskrive denne select til at bruge en join istedet for
sub-select?

SELECT c.custno FROM customers c
WHERE NOT EXISTS (SELECT 1
FROM deleted_customers c
WHERE c.custno = d.custno)

--
Stig
(remove the 'no's to send me mail)

 
 
Peter Lykkegaard (30-08-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 30-08-04 21:52

"Stig H. Jacobsen" <usenet_dk@nonogoth.dk> wrote in message
news:ch02en$2htb$1@news.cybercity.dk...
> Kan man omskrive denne select til at bruge en join istedet for
> sub-select?
>
> SELECT c.custno FROM customers c
> WHERE NOT EXISTS (SELECT 1
> FROM deleted_customers c
> WHERE c.custno = d.custno)
>

Tjoo, på MSSQL ville jeg bruge en Left Join
http://www.devguru.com/Technologies/jetsql/quickref/rightjoin.html

Man kan så tjekke for NULL værdier på den "højre side"

- Peter



Stig H. Jacobsen (01-09-2004)
Kommentar
Fra : Stig H. Jacobsen


Dato : 01-09-04 00:17

On Mon, 30 Aug 2004 22:51:54 +0200, Peter Lykkegaard wrote:

> Tjoo, på MSSQL ville jeg bruge en Left Join
> http://www.devguru.com/Technologies/jetsql/quickref/rightjoin.html

> Man kan så tjekke for NULL værdier på den "højre side"

Hmm, kunne ikke lige få det til at virke med MySQL. Har du et
eksempel i MSSQL-SQL?

--
Stig
(remove the 'no's to send me mail)

Stig H. Jacobsen (01-09-2004)
Kommentar
Fra : Stig H. Jacobsen


Dato : 01-09-04 15:54

On Tue, 31 Aug 2004 23:16:40 +0000 (UTC), Stig H. Jacobsen wrote:

>> Man kan så tjekke for NULL værdier på den "højre side"

> Hmm, kunne ikke lige få det til at virke med MySQL. Har du et
> eksempel i MSSQL-SQL?

Fandt ud af det..

SELECT c.custno
FROM customers c
LEFT JOIN deleted_customers d
ON c.custno = d.custno
WHERE d.custno IS NULL

Er dog lidt forvirret over c.custno=d.custno, fordi de er jo
netop forskellige (d.custno er NULL), men så længe det virker..

Tak for hjælpen, Peter!

--
Stig
(remove the 'no's to send me mail)

Kristian Damm Jensen (02-09-2004)
Kommentar
Fra : Kristian Damm Jensen


Dato : 02-09-04 06:28

"Stig H. Jacobsen" <usenet_dk@nonogoth.dk> wrote in message news:<ch4nqp$qrp$1@news.cybercity.dk>...

> Er dog lidt forvirret over c.custno=d.custno, fordi de er jo
> netop forskellige (d.custno er NULL), men så længe det virker..

Du har brug for at læse op på, hvordan et outer join virker...

VH
Kristian

Stig H. Jacobsen (03-09-2004)
Kommentar
Fra : Stig H. Jacobsen


Dato : 03-09-04 13:27

On 1 Sep 2004 22:27:50 -0700, Kristian Damm Jensen wrote:

>> Er dog lidt forvirret over c.custno=d.custno, fordi de er jo
>> netop forskellige (d.custno er NULL), men så længe det virker..

> Du har brug for at læse op på, hvordan et outer join virker...

Jeps - hvis jeg havde styr på join's, så havde jeg jo ikke
behøvet spørge her til at starte med

Tak for hjælpen,
--
Stig
(remove the 'no's to send me mail)

Peter Lykkegaard (01-09-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 01-09-04 15:55

Stig H. Jacobsen wrote in a message

> Hmm, kunne ikke lige få det til at virke med MySQL. Har du et
> eksempel i MSSQL-SQL?

Den her vil finde alle ordrer uden tilhørende linjer

select H.OrderID
From OrderHeader H
Left Join OrderItems I
On H.OrderID = I.OrderID
Where I.OrderID Is Null

Og den her finder alle linjer uden ordrehoved

select I.OrderID
From OrderHeader H
Right Join OrderItems I
On H.OrderID = I.OrderID
Where H.OrderID Is Null

hth/Peter

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste