我已经阅读了很多 JOIN 语法的示例,但没有一个可以解决我的问题。
我有一张报价表和一张销售查询表。一份报价可能会导致多次查询,也可能不会导致任何查询。我想创建一个所有报价的列表,并包含任何结果查询的详细信息。我期待一个导致许多查询的报价的多个结果行。对于那些没有引起任何查询的报价,我期待一个带有空或空查询字段的单行。
连接数据位于报价表中,其中有一个名为“活动”的字段,其中包含所产生的任何或所有查询的 ID。每次有新的询问时都会更新。
所以我尝试了这个:
SELECT q.*, e.id, e.price
FROM quotes as q
LEFT JOIN enquiries as e
ON INSTR(q.activity, e.id) >'0'
WHERE q.date > '2013-07-01'
但是我的结果中的每一行都包含查询数据。我似乎无法让它包含从未产生任何结果的引号。我认为 LEFT JOIN 应该给我所有的报价,不管查询如何,并在匹配的地方包含查询数据。但是我看到的每个示例都只是加入 a.id = b.id,所以我怀疑我的 INSTR() 匹配标准可能会搞砸。