Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Subquery

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Subquery

    Salve a tutti,
    un aiuto su questo problema che ancora non ho risolto in quanto non posso migrare alla versione MySQL 4.1

    Ho due tabelle sottoCategorie e categorie dove i record di sottocategorie sono linkati alla tabella categorie tramite il campo idCategoria (chiave esterna).

    Devo scrivere questa query

    SELECT * FROM (SELECT t1.`id`, t1.`idcategoria`, t2.`descr` AS `descr_categoria`, t1.`descr`, FROM `sottocategorie` AS t1 LEFT OUTER JOIN `categorie` AS t2 ON (t1.`idcategoria` = t2.`id`)) subq

    senza ricorrere alle subquery.
    Purtroppo uso MySQL 4.026 che non supporta le subquery!!

    Potete aiutarmi?
    Ringrazio anticipatamente chi potrà aiutarmi.

    Grazie
    Guidino

  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    SELECT
    *
    FROM
    `categorie`
    INNER JOIN `sottocategorie` ON (`categorie`.`id`= `sottocategorie`.`idcategoria`)

    oppure

    SELECT
    *
    FROM
    `categorie`
    LEFT JOIN `sottocategorie` ON (`categorie`.`id`= `sottocategorie`.`idcategoria`)
    ...altri 5 anni di purga...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    subquery

    Ti ringrazio,
    ottengo i dati che desideravo però mi serve mantenere l'alias di categoria.descr

    nella subquery richiedevo t2.`descr` AS `descr_categoria` (la descrizione della categoria con alias).
    Come faccio posso fare?



    Grazie
    Guidino

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    devi splittare i campi invece di usare *
    ...altri 5 anni di purga...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    subquery

    Ho capito,
    ho provato e funziona. Grazie
    un'altra domanda. Spero di non disturbare troppo ma non so come fare, davanti a me c'è un muro

    Sulla stessa query di prima facevo un COUNT(*) per contare i record ed avere ancora i campi che mi interessavano inclusi quelli con alias, così:

    SELECT COUNT(*) FROM (SELECT t1.`id`, t1.`idcategoria`, t2.`descr` AS `descr_categoria`, t1.`descr`, FROM `sottocategorie` AS t1 LEFT OUTER JOIN `categorie` AS t2 ON (t1.`idcategoria` = t2.`id`)) subq


    Come desvo riscriverla senza usare le subquery.


    Ti ringrazio infinitamente.
    Guidino

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Subquery

    Up
    Guidino

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.