Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926

    Query di ricerca su due tabelle

    dovrei fare una query piuttosto complessa (almeno per le mie capacità)....
    ho provato a cercare di capire come farla ma non riesco a venirne a capo, ovvero se debba usare una JOIN o una query nidificata...
    vi espongo il problema
    ho due tabelle, una ESERCENTI e una PRODOTTI
    la chiave primaria id della tabella ESERCENTI è presente nella tabella PRODOTTI come id_eser.
    COSA DEVO ESTRARRE
    devo trovare gli esercenti (per cui select * from ESERCENTI) secondo alcuni parametri E
    dove i suoi prodotti corrispondono a una chiave di ricerca.
    AD ESEMPIO
    l'utente cerca cammello
    devo estrarre la lista degli esercenti della provincia di Milano e dove nella tabella prodotti, nel campo descrizione, ci sia la parola cammello

    andando a naso ho provato questa query ma ovviamente non funziona, anche se credo renda l'idea di quello che vorrei fare...

    select * from ESERCENTI where PROVINCIA = 'MI' and (select * from PRODOTTI where DESCRIZIONE = 'cammello')

    grazie per i vostri suggerimenti
    Luca
    www.intheweb.it - Internet solutions

  2. #2
    scusa, ma quindi un prodotto è venduto da un solo esercente?

  3. #3
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    No...un articolo può essere venduto da più esercenti...
    in pratica devo estrarre e mostrare l'elenco degli esercenti che vendono quel prodotto....
    poi c'è un ciclo che mostra tutti gli esercenti che rispondo alla query di ricerca, ovvero
    provincia di Milano CHE vendono cammelli....
    se non inserisco la parola chiave escono semplicemente TUTTI gli esercenti della provincia di Milano.
    (un if...then aggiunge la parte di SQL relativa la ricerca per parola chiave oppure modifica radicalmente la query, a seconda di come verrà fuori)
    grazie per il tuo aiuto
    Luca
    www.intheweb.it - Internet solutions

  4. #4
    scusa se insisto, ma hai scritto

    ho due tabelle, una ESERCENTI e una PRODOTTI
    la chiave primaria id della tabella ESERCENTI è presente nella tabella PRODOTTI come id_eser.


    come fa un prodotto a essere venduto da più esercenti? posta un estratto degli archivi, grazie

  5. #5
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    tabella esercenti
    id nome_esercente provincia
    1 TOTUCCIO MI
    2 CAMMELLIAMO MI
    3 TUTTO CAMMELLI BS

    tabella prodotti
    id id_eser descrrizione
    1 1 Fiore del deserto
    2 1 Pianta rara
    3 2 Cammello da corsa
    4 2 Sella per cammello
    5 3 Stalla prefabbricata
    6 2 Mangime vario

    se cerco solo per la provincia di MI mi escono gli esercenti con id 1 e 2
    se cerco gli esercenti di milano che vendono prodotti con parola chiave 'cammello'
    deve uscire solo l'esercente con id 2 perchè è l'unico che vende prodotti con parola chiave 'cammello' in provincia di MI
    Non devo elencare anche i prodotti, ma solo l'elenco degli esercenti che rispondono alle chiavi di ricerca (in questo caso che sia in provincia di Milano E vende cammelli).

    PS Mai cercato un cammello a Milano
    Luca
    www.intheweb.it - Internet solutions

  6. #6
    credo che tu possa cavartela con una JOIN

    SELECT TE.*, TP.*
    FROM Esercenti TE JOIN Prodotti TP
    ON TE.ID=TP.ID_eser
    WHERE TE.provincia='MI'
    AND TP.Descriziole LIKE '%cammello%'

    prova e sappici dire

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.