MySQL中如何从arduino_id和tb_device两表选取指定列?
解决方法:查询arduino_id全列+tb_device指定列
你的原SQL只查询了arduino_id表的字段,没有加入tb_device表中你需要的目标列,这是无法满足需求的核心问题。以下是修正后的写法:
基础写法(仅保留两表匹配的记录)
用a.*快速获取arduino_id的所有列,同时明确指定tb_device中需要的列(替换示例中的d.target_column为你实际要查询的列名):
SELECT a.*, d.target_column FROM arduino_id a JOIN tb_device d ON a.name_node = d.nama_device;
保留所有arduino_id记录的写法
如果希望即使tb_device中没有匹配的记录,也能显示arduino_id的数据(未匹配的tb_device列会显示为NULL),改用LEFT JOIN:
SELECT a.*, d.target_column FROM arduino_id a LEFT JOIN tb_device d ON a.name_node = d.nama_device;
注意事项
- 务必将
d.target_column替换为tb_device表中你实际需要查询的列名 - 确认
a.name_node = d.nama_device的关联条件正确,即两个字段的数据类型、内容是匹配的关联键
内容的提问来源于stack exchange,提问作者ixxans
相关产品推荐
相关产品推荐

