Visualizzazione dei risultati da 1 a 3 su 3

Discussione: query sql server

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258

    query sql server

    Ciao a tutti mi potete dire come va scritta in sqlserver questa query:
    SELECT dbo_Atp.AtpOwnId, dbo_Atp.AtpDes, IIf(IsNull([clacod]),False,True) AS chk
    FROM dbo_Atp LEFT JOIN [SELECT dbo_Atc.AtcAtpId, dbo_Cla.*
    FROM dbo_Atc INNER JOIN dbo_Cla ON dbo_Atc.AtcClaId = dbo_Cla.ClaOwnId
    WHERE dbo_Cla.ClaCod="S"
    ]. AS PIPPO ON dbo_Atp.AtpOwnId = PIPPO.AtcAtpId;


    grazie mille
    ste

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    90

    prova cosi'

    SELECT dbo_Atp.AtpOwnId,
    dbo_Atp.AtpDes,
    if clacod is null then 0 else -1 AS chk
    FROM dbo_Atp,
    dbo_Atc,
    dbo_Cla
    WHERE dbo_Cla.ClaCod = "S" and
    dbo_Atc.AtcClaId = dbo_Cla.ClaOwnId and
    dbo_Atp.AtpOwnId *= dbo_Atc.AtcAtpId

    Se non ho capito male deve leggere tutti i records di dbo_Atp e l'eventuale ricorrenza di dbo_Atc che deve essere di classe "S"; se c'è la ricorrenza allora il campo chk è TRUE altrimenti è FALSE.
    E' così ?
    ciao.
    roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    risolto grazie andava scritto così:
    SELECT Atp.AtpOwnId, Atp.AtpDes,
    (CASE ISNULL(clacod, 0)
    WHEN 0 THEN 0 ELSE 1 END) as CHK
    FROM Atp LEFT JOIN (SELECT Atc.AtcAtpId, Cla.*
    FROM Atc INNER JOIN Cla ON Atc.AtcClaId = Cla.ClaOwnId
    WHERE Cla.ClaCod='S') as PIPPO ON Atp.AtpOwnId = PIPPO.AtcAtpId;

    grazie mille
    ste

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.