You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Firebase中通过多值检索Item ID

嘿,我来帮你搞定这个需求!要根据Brand、ItemName、SubCategory这三个属性检索对应的Item ID并赋值给变量,得看你是在什么环境下实现,我给你几个常见场景的解决方案:

方案1:直接用SQL查询(数据库场景)

如果是直接在数据库里执行查询并赋值给变量,不同数据库的语法略有差异,这里给你两个主流数据库的示例:

MySQL 示例

-- 定义变量并赋值
SET @item_id = (SELECT ID FROM your_table_name 
                WHERE Brand = 'Manchee' 
                  AND ItemName = 'Cream Cracker' 
                  AND SubCategory = '100g');

记得把your_table_name替换成你实际的表名,执行后@item_id变量就会存储匹配到的ID值。

SQL Server 示例

-- 先声明变量类型,再赋值
DECLARE @item_id INT; -- 假设ID是整数类型,根据实际类型调整
SELECT @item_id = ID FROM your_table_name 
WHERE Brand = 'Manchee' 
  AND ItemName = 'Cream Cracker' 
  AND SubCategory = '100g';
方案2:Python中封装成函数(结合数据库)

如果是在Python里实现这个逻辑,比如用sqlite3或pymysql操作数据库,这里以sqlite3为例写个可复用的函数:

import sqlite3

def get_target_item_id():
    # 连接数据库,替换成你的数据库路径/配置
    conn = sqlite3.connect('your_database.db')
    cursor = conn.cursor()
    
    # 带参数的查询,避免SQL注入
    query = """
        SELECT ID FROM your_table_name
        WHERE Brand = ? AND ItemName = ? AND SubCategory = ?
    """
    cursor.execute(query, ('Manchee', 'Cream Cracker', '100g'))
    
    # 获取结果,处理无匹配的情况
    result = cursor.fetchone()
    item_id = result[0] if result else None
    
    # 关闭连接
    cursor.close()
    conn.close()
    
    return item_id

# 调用函数获取ID并赋值给变量
target_item_id = get_target_item_id()

如果没有找到符合条件的记录,函数会返回None,你可以根据需求添加日志或错误提示逻辑。

方案3:Excel中用函数实现

要是你在Excel里需要获取这个ID,分两种情况给你公式:

XLOOKUP 公式(Excel 365及以后版本)

假设数据在A-D列:A列是ID,B列Brand,C列ItemName,D列SubCategory,公式如下:

=XLOOKUP(1, (B:B="Manchee")*(C:C="Cream Cracker")*(D:D="100g"), A:A, "未找到匹配项")

没有匹配结果时会显示“未找到匹配项”,可自行修改提示文本。

INDEX+MATCH 公式(兼容旧版Excel)

=INDEX(A:A, MATCH(1, (B:B="Manchee")*(C:C="Cream Cracker")*(D:D="100g"), 0))

旧版Excel需要按Ctrl+Shift+Enter作为数组公式执行,Excel 365直接回车即可。

内容的提问来源于stack exchange,提问作者S.B.S.Kaushalya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:12:29