Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [SQL] ricavare la tabella di appartenenza

    salve a tutti.

    volevo chiedere, è possibile ricavare la tabella di appartenenza??

    Cioè avendo un dato di un rispettivo campo è possibile sapere quel dato a quale tabella appartiene???

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Spiegati meglio. Intanto specifica il database. Si parla di mysql?

    Sai almeno il nome del campo a prescindere dalla tabella o è un'incognita anche quello?

  3. #3
    allora ti spiego meglio è un pò articolato.



    faccio una ricerca su un campo di testo e la ricerca va su 2 database uno "news" e l'altro "approfondimenti" la ricerca deve prendere i campi di entrambi i database rispettivamente "Object" e "Text" ora io da questa ricerca devo sapere in quale database e tabella a trovato il risultato.

    Codice PHP:
    $seach=trim($_REQUEST["cerca"]);

    $QueryArt=mysql_query("Select * from $db1.parrofondimenti as db1 Where db1.Object like '%$search%' or db1.Text like '%$search%' UNION Select * from $db2.news as db2 Where db2.Object like '%$search%' or db2.Text like '%$search%'") or die (mysql_error()); 
    Questo qui sopra è la ricerca che faccio nel database ora da qui vorrei sapere in quale dataabse è stato ricavato il risultato.

  4. #4
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    Aggiungi come campo estratto un Flag che nella prima query imposti a NEW fisso, nella seconda APP (o i valori che vuoi. Basta che siano diversi).

    Valuti poi questo campo e vedi da che DB viene la riga.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    Select *,'db1' as database from $db1.parrofondimenti as db1 Where db1.Object like '%$search%' or db1.Text like '%$search%' 
    UNION 
    Select *,'db2' from $db2.news as db2 Where db2.Object like '%$search%' or db2.Text like '%$search%'"

  6. #6
    scusami nicola poi come faccio a ricavare in PHP il database di appartenenza nel tuo script???

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Fai riferimento ad essa tramite l'alias, nel mio esempio database.

  8. #8
    come faccio riferimento all'alias???

    ho provato così:

    Codice PHP:
              $QueryProv=mysql_query("Select *,'db1' as database from $db1.it_insights as database Where db1.Ident='$idart' UNION Select *,'db2' from $db2.it_news as db2 Where db2.Ident='$idart'") or die (mysql_error());
            
    $RecProv=mysql_fetch_array($QueryProv);
            echo 
    $RecProv["database"]; 
    ma mi da questo errore:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database from Sql379281_1.it_insights as database Where db1.Ident='NWS3631579267'

  9. #9
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    Non son sicuro ma penso tu debba fare anche

    UNION Select *,'db2' as database from

    quando definisci la query


    In caso non funziona prova a usare un altro nome per l'alias. Sia mai sia parola chiave riservata o qcsa di simile.

  10. #10
    niente provato anche così:

    Codice PHP:
              $QueryProv=mysql_query("Select *,'db1' as namedatabase from $db1.it_insights as database Where db1.Ident='$idart' UNION Select *,'db2' as namedatabase from $db2.it_news as db2 Where db2.Ident='$idart'") or die (mysql_error()." erroe ricerca database");
            
    $RecProv=mysql_fetch_array($QueryProv);
            echo 
    $RecProv["namedatabase"]; 
    mi da questo errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'database Where db1.Ident='NWS3631579267' UNION Select *,'db2' as namedatabase fr' at line 1

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.