mySql DB 中有两个具有多个字段的表 Customers 和 Children,通过一对多关系关联,因此一个客户可以有 0 到 n 个子级。
我必须将所有子客户提取到主客户行下的新行中。
这可能吗?
这是查询:
select customers.FIELDS...
from customers
LEFT OUTER JOIN asg_children
ON customers.id = children.customer_id
where customers.first_name != 'DEFAULT' and customers.first_name != '' and
customers.first_name != '_'
order by customers.last_name asc
最佳答案
您可以通过按列排序执行以下操作来创建此内容。点是放置列的位置,它们在每个查询中必须相同。这使得假设子级中的 customerid 必须存在于 customer 中。如果没有添加下面的 in 语句。请注意,您可以根据需要添加自己的名称过滤器,我已将它们遗漏了
Select *
From
(
Select ID customerid ,.......,1 ordby From customer
Union all
Select customer_id,.......,2 from children /* optional in clause here */
) x
Order by customerid,ordby
子句中的可选
Where customer_id in (select Id from customer)
关于mysql - 在另一行中显示 mySql LEFT OUTER JOIN 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47393570/