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

    Query Con Union + Where

    Ciao a tutti, il mio probleam è questo:

    Ho 2 tabelle mysql:
    tabella_1/ campi: id,categoria
    tabella_2/ campi: id,categoria
    ( formatatte in maniera identica )


    Vorrei fare una query che estragga tutte le righe che contengo il contenuto della variabile $cerca_da_categoria da entrambe le tabelle.


    Così funziona ma mi estrae solo 1 riga..

    $query = "SELECT cat_2 FROM tabella_1 WHERE (cat_2 LIKE '%$cerca_da_categoria%') UNION ALL SELECT cat_2 FROM tabella_2 WHERE (cat_2 LIKE '%$cerca_da_categoria%') ORDER BY cat_2 LIMIT 0, 50 ";}


    se la faccio così mi estrae 50 righe in ordine alfabetico senza tenere conto della WHERE.

    $query = "SELECT cat_2 FROM tabella_1 UNION SELECT cat_2 FROM tabella_2 WHERE (cat_2 LIKE '%$cerca_da_categoria%') ORDER BY cat_2 LIMIT 0, 50 ";}

    Qualche suggerimento ?
    Grazie
    Alex

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, ma se sono formattate in maniera identica a cosa ti interessa sapere se esiste pure nella seconda tabella?dato che la risposta, visto la premessa che sono identiche, sarà si?

  3. #3
    Forse mi sono spiegato male. Non mi serve sapere se esiste nella seconda tabella.
    Devo unire le 2 tabelle per fare in modo che il ciclo FOR che eseguo dopo la query vada a listare i risultati di entrambe !

    Semplicemente l'unione di 2 tabelle identiche per prelevare delle righe che contengono una certa parola in un certo campo.

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Continuo a non capire l'esistenza di una seconda tabella uguale alla prima...cioè se contiene lo stesso tipo di dati lo stesso numero di colonne perchè le hai dovute dividere?Comunque prova questa soluzione...
    Codice PHP:
    $query "(SELECT cat_2 FROM tabella_1 WHERE cat_2 LIKE '%$cerca_da_categoria%') UNION (SELECT cat_2 FROM tabella_2 WHERE cat_2 LIKE '%$cerca_da_categoria%') ORDER BY cat_2"

  5. #5
    NIENTE DA FARE HO RISOLTO COSI':

    $query = "SELECT cat_2 FROM TAB_1 WHERE cat_2 LIKE '%$cerca_da_categoria%' UNION ALL SELECT cat_2 FROM TAB_2 WHERE cat_2 LIKE '%$cerca_da_categoria%' ORDER BY cat_2";

    Le tabelle sono identiche perchè devono ospitare dati provenienti da listini prezzi formattati in maiera identica ma diversi tra loro. Non mi dilungo ulteriormente sul perchè ma alla fine ha un senso anche se non sembra.
    Grazie comunque per l'esempio che mi ha fatto arrivare alla soluzione.
    Alex.

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.