繁体   English   中英

多个表中具有完全相同的列名的主产品列表

[英]Master Product list from multiple tables with the exact same column names

我有很多带有产品信息的表。 我在此特定查询中从中提取的每个表上的列具有完全相同的列名。 我一直在尝试通过UNION ALL进行操作,但是由于某种原因,它抛出了一个错误,说非对象,但是所有列名都是正确的。

我使用的是在网上找到的格式。 但是显然有什么问题。 有更多的表格; 但是,这就是它的开始(从2开始)。 如果不需要,我宁愿不必使用唯一的表缩写对联合中的每个select语句进行编码。

如果有更好的方法,我不必使用工会。

所有表共享有关Product_Categories和Product_Sub_Category的数据。

每个表唯一的唯一内容是id和part_number。

$product_query = $db1q->query("
SELECT f.id,f.part_number,f.cat,f.subcat,f.table_name FROM
(
SELECT t.id,t.part_number,psc.name as subcat,c.name as cat, c.table_name FROM Steel_Strapping as t JOIN Product_Sub_Category as psc ON t.subcat = psc.id JOIN Product_Categories as c ON psc.category = c.id ORDER BY c.sort_order,psc.sort_order,t.sort_order
UNION ALL
SELECT t.id,t.part_number,psc.name as subcat,c.name as cat, c.table_name FROM Product as t JOIN Product_Sub_Category as psc ON t.subcat = psc.id JOIN Product_Categories as c ON psc.category = c.id ORDER BY c.sort_order,psc.sort_order,t.sort_order
) f");

我的最终结果是共享列名称的所有产品的完整列表。 例如:$ result ['part_number']将从联合中列出的所有表中提取零件号。

任何帮助,将不胜感激。

我在玩代码时找到了解决方案。 我必须在父选择语句内添加括号(选择...)UNION JOIN(选择...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM