Join tra 2 tabelle.Problema

venerdì 26 settembre 2008 - 13.00

The_Rock Profilo | Junior Member

Scusate ho un grosso problema in sql dovuto all'inesperienza.
devo inserire un solo valore da una tabella in join con un'altra quando in questa non e' presente e SOLO PER UNA VOLTA.Ma come ho fatto io me lo ripete per n volte per quanto e' presente l'ID. Aiutatemi please.
Grazie.
INSERT INTO T1
(Frazionario, Id_Servizio)
SELECT upt.frazionario,
upt.Id_Servizio
FROM T1 ser INNER JOIN
T2 upt ON ser.Frazionario = upt.frazionario
where ser.Frazionario = '29048' and ser.Id_Servizio <> 'S12'
e qui mi ripete per tutti i frazionari presenti in T1 l'ID servizio S12 mentre dovrei farlo apparire una sola volta quando non e' gia presente.Come fare?

Un saluto,
The_Rock

Brainkiller Profilo | Guru

>SELECT upt.frazionario,

La query la puoi trasformare inserendo un:

SELECT TOP 1 upt.frazionario ecc.ecc.

E ti va a prendere solo il primo dei record restituiti dalla query.
Per non duplicarli devi preoccuparti tu o con degli unique costraint o andando a verificare con un'altra subquery magari usando il NOT IN che non sia già presente.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lbenaglia Profilo | Guru

>devo inserire un solo valore da una tabella in join con un'altra
>quando in questa non e' presente e SOLO PER UNA VOLTA.

Ciao Rocco,

Mi spiace, ma non ho capito quello che vorresti fare.
Potresti cortesemente postare un esempio completo con i comandi DDL di CREATE TABLE delle tabelle, alcune righe di prova (INSERT INTO) ed il risultato che vorresti ottenere con quei dati?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5