Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Help. verificare se esiste una eguaglianza tra record

    Ciao a tutti,

    dato un risultato di una select, devo verificare se il contenuto di un campo esist anche in un'altra tabella.

    esempio

    TABELLA MACCHINE
    CAMPO MARCA
    CAMPO COLORE

    TABELLA MACCHINE_IMPORTATE
    CAMPO MARCA
    CAMPO VENDUTA

    Faccio una select con repeat record sulla Tabella Macchine, però ad ogni record devo
    fare una select where MARCA = MARCA di tutti i record della seconda tabella.
    presumo un While......

    spero di essere stato chiaro.. non posso fare un JOIN in SQL perchè sono select fatte
    su due SQL server diversi

    grazie

  2. #2
    si può fare JOIN anche tra server diversi, purché siano in trust

  3. #3
    scusa non so cosa voglia dire trust, però credo che una volta aperte entrambe le connessioni ad inzio pagina poi il Join si possa fare

  4. #4
    trust vuol dire che i server SQL si "vedono" tra di loro. chiedi al tuo dba

    poi l'interrogazione si può fare così

    SELECT elenco_colonne FROM tabella1 JOIN server_secondario.database.dbo.tabella2 ON ....



  5. #5
    *****DUNQUE INIZIO LA PAGINA ASP INTEGRANDO LE DUE CONNESSIONI:




    ******LE SELECT CORRETTE E FUNZIONANTI SONO:

    <%
    Dim ORDINIDISTINTA
    Dim ORDINIDISTINTA_numRows

    Set ORDINIDISTINTA = Server.CreateObject("ADODB.Recordset")
    ORDINIDISTINTA.ActiveConnection = MM_ARCA_STRING
    ORDINIDISTINTA.Source = "SELECT * FROM dbo.DB"
    ORDINIDISTINTA.CursorType = 0
    ORDINIDISTINTA.CursorLocation = 2
    ORDINIDISTINTA.LockType = 1
    ORDINIDISTINTA.Open()

    ORDINIDISTINTA_numRows = 0
    %>

    ********E QUELLA DELL'ALTRA CONNESSIONE:

    <%
    Dim ORDINIMPORTATI
    Dim ORDINIMPORTATI_numRows

    Set ORDINIMPORTATI = Server.CreateObject("ADODB.Recordset")
    ORDINIMPORTATI.ActiveConnection = MM_SQL_PRODUZIONE_STRING
    ORDINIMPORTATI.Source = "SELECT * FROM dbo.ORDINI_PRODUZIONE"
    ORDINIMPORTATI.CursorType = 0
    ORDINIMPORTATI.CursorLocation = 2
    ORDINIMPORTATI.LockType = 1
    ORDINIMPORTATI.Open()

    ORDINIMPORTATI_numRows = 0
    %>

    **********QUINDI HO PROVATO A FARE COSI' MA SENZA ESITO:

    <%
    Dim Ordini_join
    Dim Ordini_join_numRows

    Set Ordini_join = Server.CreateObject("ADODB.Recordset")
    Ordini_join.ActiveConnection = MM_ARCA_STRING,MM_SQL_PRODUZIONE_STRING
    Ordini_join.Source = "SELECT * FROM [DB] LEFT JOIN [ORDINI_PRODUZIONE] ON [DB].[Cd-AR] = [ORDINI_PRODUZIONE].[CODICE ARTICOLO]"
    Ordini_join.CursorType = 0
    Ordini_join.CursorLocation = 2
    Ordini_join.LockType = 1
    Ordini_join.Open()

    Ordini_join_numRows = 0
    %>

    ******** NON VA PERCHE' O MI APRE LA PRIMA CONNESSIONE O LA SECONDA IN ActiveConnection COME POSSO FARE?

    grazie
    PS: ho usato il carattere maiuscolo solo per separare graficamente in caratteri del codice non per urlare nel Forum

  6. #6
    la query effettiva sarebbe questa

    SELECT * FROM [DB] LEFT JOIN [ORDINI_PRODUZIONE] ON [DB].[Cd-AR] = [ORDINI_PRODUZIONE].[CODICE ARTICOLO]

    ???

  7. #7
    Si e quella, pero o apre la prima connessione o la seconda, non entrambe

  8. #8
    hai appurato che i due server siano in trust? perché la query non va fatta tra le connessioni, ma su un unico server che "vede" anche l'altro

  9. #9
    dunque sono due server diversi, con due IIS diversi e due SQL diversi non credo siano in trust

  10. #10
    ma non puoi chiedere al dba di metterli in trust?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.