我试图让一个查询工作,而不是两个,其中第一个创建一个数组,然后循环另一个。
第一个查询返回一组用户,然后我想根据这些用户查询另一个表,经过一些研究我最终得到了这个但它不起作用......
SELECT FreeText, (
SELECT EmailAddress FROM customers WHERE AccessLevel = 'callcentre'
) AS User FROM orders WHERE FreeText = User
我更愿意做一个单一的查询,但如果那不可能,那么我将使用第一个创建和数组然后循环第二个来解决它
任何帮助表示赞赏
示例结果,用户将包含名称,例如 lsmith、nrowe、pmerle
然后第二个查询将返回它们被设置为 FreeTxt 的订单行
示例表结构
customers table
Id, Email, Add1, Add2 ect...
23, lsmith, someaddress, road...
Orders
Id, customerId, FreeTxt, Product
54, 23, lsmith, mob
这个输出将是 lsmith + Id 从我只在测试时要求 FreeTxt 的订单
子查询不是必需的,您可以对内部
联接执行相同操作,但请确保 orders.FreeText = customers.EmailAddress 确实匹配
SELECT orders.FreeText, customers.EmailAddress
FROM orders
INNER JOIN customer on orders.FreeText = customers.EmailAddress
and customers.AccessLevel = 'callcentre';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句