mysql where子句基于另一个查询

Lew*_*ith 1 php mysql sql

我试图让一个查询工作,而不是两个,第一个创建一个数组,然后循环通过另一个.

第一个查询返回一组用户,然后我想基于这些用户查询另一个表,经过一些研究我最终得到了这个但它不起作用......

SELECT FreeText, (
    SELECT EmailAddress FROM customers WHERE AccessLevel = 'callcentre'
) AS User FROM orders WHERE FreeText = User
Run Code Online (Sandbox Code Playgroud)

我宁愿做一个单一的查询,但如果那不可能,那么我将使用第一个创建和数组然后循环第二个来解决它

任何帮助赞赏

示例结果,用户将包含名称,例如lsmith,nrowe,pmerle

然后第二个查询将重新转换它们被设置为FreeTxt的订单行

示例表结构

customers table
Id, Email,  Add1,        Add2    ect...
23, lsmith, someaddress, road...

Orders
Id, customerId, FreeTxt, Product
54, 23,         lsmith,  mob
Run Code Online (Sandbox Code Playgroud)

这个输出是lsmith + Id来自我在测试时只询问FreeTxt的订单

sca*_*dge 6

子查询不是必需的,您可以使用内部
联接执行相同操作,但请确保orders.FreeText = customers.EmailAddress真正匹配

  SELECT orders.FreeText, customers.EmailAddress
  FROM orders
  INNER JOIN customer on orders.FreeText  = customers.EmailAddress 
        and customers.AccessLevel = 'callcentre';
Run Code Online (Sandbox Code Playgroud)