Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    Query di ricerca da 2 tabelle diverse

    Buonasera

    ho un sito dove inserisco 2 tipologie di offerte per una destinazione turistica.
    La prima tipologia sono le nostre offerte e quindi creiamo noi il pacchetto (volo+hotel+tutti gli altri servizi)
    La seconda tipologia sono le offerte di altri tour operator con i quali collaboriamo

    Al momento abbiamo una tabella dove inseriamo i prezzi degli hotels ed una tabella dove inseriamo i prezzi dei voli, poi in automatico il sistema genera il prezzo esatto da mostrare nella pagina ricerca.php

    Adesso vorrei creare una nuova sezione nel pannello di controllo dove inserire le offerte dei tour operator dove inseriremo già il prezzo finito del pacchetto (esempio 700 €) e chiamare la tabella offerte_tour_operator

    Quello che vorrei fare è mostrare nella pagina ricerca.php sia le offerte nostre che prenderemo dalla tabella "offerte", sia quelle dei tour operator, che prenderemo dalla tabella "offerte_tour_operator"

    E' fattibile una cosa del genere? Come potrei fare la ricerca da entrambe le tabelle e mostrare i prezzi ordinati per prezzo?
    Magari avete un esempio da poter seguire.
    Grazie

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,255
    Quindi hai due tabelle TABELLA1 e TABELLA2 e vuoi fare una query che estragga i valori dalle due tabelle?
    UNION

    SELECT CAMPOA as UNO, CAMPOB as DUE FROM tABELLA1 where blabla
    UNION
    SELECT CAMPOA as UNO, CAMPOK as DUE FROM tABELLA2 where blabla

  3. #3
    affino la soluzione di URANIO
    codice:
    SELECT * FROM (
       SELECT 'tabella1' AS Provenienza, Prezzo, CAMPOA as UNO, CAMPOB as DUE FROM tABELLA1 where blabla
       UNION
       SELECT 'tabella2' AS Provenienza, Prezzo, CAMPOA as UNO, CAMPOK as DUE FROM tABELLA2 where blabla
    ) X
    ORDER BY Prezzo
    

  4. #4
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    non conoscevo UNION, dopo lo provo
    L'unica cosa è che i prezzi della tabella 1 li ottengo da piu' query e cioe':
    Faccio una query nella tabella tariffe dove inserisco il prezzo giornaliero, esempio 50 euro e lo moltiplico per il numero di notti, supponiamo 7 ed ottengo 350 €
    Poi faccio una query dalla tabella impostazioni da dove estraggo i prezzi dei servizi aggiuntivi, come assicurazione (15 € ), trasferimenti (5 €)
    Poi faccio una query dalla tabella calendario da dove estraggo il prezzo del volo di quel giorno, esempio 300 €
    infine faccio la somma di tutti questi prezzi ed estraggo il prezzo del nostro markup di guadagno, supponiamo 10%, quindi otterro' qualcosa tipo: (350 + 15 + 5 + 300) + 10% per un totale di 737 €

    Successivamente dovrò fare la query dalla tabella 2 (quella dei tour operator) dove inseriro' già il prezzo finito del pacchetto che mi passa il tour operator ed infine dovrò mostrare i prezzi ordinati per prezzo sia delle nostre offerte, sia di quelle dei tour operator.

    Funziona sempre la soluzione con UNION?

  5. #5
    la UNION può mettere assieme più interrogazioni, l'importante è che le colonne restituite siano uguali

  6. #6
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Quote Originariamente inviata da optime Visualizza il messaggio
    la UNION può mettere assieme più interrogazioni, l'importante è che le colonne restituite siano uguali
    che vuol dire "le tue colonne restituite siano uguali?"

  7. #7
    che non puoi fare una UNION di una SELECT che restituisce 4 colonne con una SELECT che ne restituisce 7; debbono coincidere in numero, tipo e posizione

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Quote Originariamente inviata da optime Visualizza il messaggio
    che non puoi fare una UNION di una SELECT che restituisce 4 colonne con una SELECT che ne restituisce 7; debbono coincidere in numero, tipo e posizione
    Puo’ rimpiazzare le colonne mancanti con delle costanti.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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