recherche

Maison  >  Questions et réponses  >  le corps du texte

Rechercher dans quelle table se trouve une valeur donnée

<p>J'ai besoin d'aide. </p> <p>Dans ma base de données, j'ai <strong>plusieurs tables</strong> contenant des détails sur les produits, chaque produit a un identifiant unique. </p> <p>Maintenant, j'ai un ID de produit donné - <strong>Comment puis-je obtenir le nom de la table dans laquelle ce produit est stocké</strong> puisque j'ai différentes tables dans ma base de données ? Comment puis-je stocker le nom de la table dans une variable PHP afin de pouvoir le réutiliser dans une autre instruction select ? </p> <p>J'ai cherché sur stackoverflow mais j'ai seulement trouvé des réponses sur l'obtention de tous les noms de table d'une base de données ou des noms de colonnes. Je recherche une solution simple dans l'instruction de sélection mysql/pdo. </p> <p>Ma famille est très occupée</p>
P粉727416639P粉727416639482 Il y a quelques jours410

répondre à tous(1)je répondrai

  • P粉539055526

    P粉5390555262023-08-11 10:16:00

    Pour effectuer une recherche dans un ensemble fixe de tables, vous pouvez combiner des requêtes individuelles à l'aide de la clause UNION, puis ajouter une chaîne codée en dur pour identifier la source :

    SELECT packaging_id AS product_id, 'packaging' AS table_name
    FROM packaging
    WHERE name = 'Cardboard box'
    UNION ALL
    SELECT stationery_id, 'stationery'
    FROM stationery
    WHERE description = 'Cardboard box'
    UNION ALL
    SELECT sales_id, 'sales'
    FROM sales
    WHERE offer = 'Cardboard box'

    Vous devez vous assurer que chaque colonne de l'ensemble de résultats a le même type de données et vous pouvez utiliser la première instruction pour définir un nom de colonne normalisé pour l'ensemble de résultats.

    répondre
    0
  • Annulerrépondre