首页  >  问答  >  正文

查询给定值在哪张表中

<p>我需要一些帮助。</p> <p>在我的数据库中有<strong>几个包含产品细节的表</strong>,每个产品都有一个唯一的ID。</p> <p>现在我有一个给定的产品ID - <strong>我该如何获得该产品存储在哪个表中的表名</strong>,因为我的数据库中有不同的表?我如何将表名存储在一个PHP变量中,以便在另一个select语句中重新使用它?</p> <p>我在stackoverflow上进行了搜索,但只找到了关于获取数据库或列名的所有表名的答案。我在mysql/pdo select语句中寻找一个简单的解决方案。</p> <p>家人们棒棒忙</p>
P粉727416639P粉727416639436 天前375

全部回复(1)我来回复

  • P粉539055526

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

    要在一组固定的表中搜索,您可以使用 UNION 子句组合各个查询,然后添加一个硬编码的字符串来标识来源:

    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'

    您需要确保结果集中每个列具有相同的数据类型,并且您可以使用第一个语句为结果集设置一个规范化的列名。

    回复
    0
  • 取消回复