Visualizzazione dei risultati da 1 a 9 su 9

Discussione: errore union

  1. #1

    errore union

    Salve a tutti, sto cercando di prelevare dati da due tabelle, ho provato con l'UNION, ma non riesco:
    codice:
    IDcliente = Request("IDCliente")			
    casql = "SELECT * FROM iscritti WHERE iscritti.ID="& IDCliente					casql = casql & "union SELECT * FROM brochure WHERE brochure.IDcliente="&IDCliente 			
    Set cars = Server.CreateObject("ADODB.Recordset")					cars.Open casql, caconn, 3, 3
    Ma non funziona, chi mi può cortesemente aiutare?

  2. #2
    scusate il casino:
    codice:
    IDcliente = Request("IDCliente")
    casql = "SELECT * FROM iscritti WHERE iscritti.ID="& IDCliente
    casql = casql & "union SELECT * FROM brochure WHERE brochure.IDcliente="&IDCliente
    Set cars = Server.CreateObject("ADODB.Recordset")
    cars.Open casql, caconn, 3, 3

  3. #3
    cosa devi estrarre di preciso?
    le tabelle hanno gli stessi campi?
    hai degli errori ho semplicemente non viene fuori nulla?
    xxx

  4. #4
    -devo estrarre tutti i record di iscritti e tutti i record di brochure
    -le tabelle NON hanno gli stessi campi
    -mi da errore, nella fattispece
    "[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'iscritti.ID=67union SELECT * FROM brochure WHERE brochure.IDcliente=67'. "

  5. #5
    ho provato anche più semplicemente, così:
    codice:
    casql="SELECT * FROM brochure, iscritti WHERE iscritti.id = '"& IDcliente &"' AND brochure.IDcliente = '"& IDcliente &"'"
    Ma ancora errore...suggerimenti in merito?

  6. #6
    Errore banale non hai lasciato uno spazio prima di union e quando la stringa viene concatenata union si attacca all'id cliente, prova così:

    Quando usi la union attenzione che le due tabelle devono avere lo stesso numero di colonne e le colonne devono avere lo stesso tipo di dato.
    IDcliente = Request("IDCliente")
    casql = "SELECT * FROM iscritti WHERE iscritti.ID="& IDCliente
    casql = casql & " union SELECT * FROM brochure WHERE brochure.IDcliente="&IDCliente
    Set cars = Server.CreateObject("ADODB.Recordset")
    cars.Open casql, caconn, 3, 3

  7. #7
    grazie, comunque ripeto che le due tabelle hanno dati totalmente diversi, quindi devo usare il Join

  8. #8
    Allora beccati questa

    casql="SELECT broc.*, iscr.* FROM brochure broc, iscritti iscr WHERE iscr.id = '"& IDcliente &"' AND broc.IDcliente = '"& IDcliente &"' And iscr.id = broc.IDCliente"

    broc e iscr sono due alias delle tabelle se non li metti non riesci a fare un join di quel tipo

  9. #9

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.