Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 2搜索2个表连接_Mysql_Search_Join - Fatal编程技术网

Mysql 2搜索2个表连接

Mysql 2搜索2个表连接,mysql,search,join,Mysql,Search,Join,是否可以在两个不同的表上进行两次搜索,并以某种方式使用JOIN在一个查询中收集它们重叠的位置 以下是人类的思维过程:(注意,我有两张表;简介和发票) 从发票表中查找已填写付款列的所有行 “已付” 获取所有对应的“profileid”列编号 删除重复(或多次发生) 在配置文件表中查找具有这些id的所有配置文件 在这些配置文件上执行进一步搜索,例如在何处使用名,如“%$firstname%”等 大概是这样的: $query = "SELECT profileid FROM invoicetabl

是否可以在两个不同的表上进行两次搜索,并以某种方式使用JOIN在一个查询中收集它们重叠的位置

以下是人类的思维过程:(注意,我有两张表;简介和发票)

  • 从发票表中查找已填写付款列的所有行 “已付”

  • 获取所有对应的“profileid”列编号

  • 删除重复(或多次发生)

  • 在配置文件表中查找具有这些id的所有配置文件

  • 在这些配置文件上执行进一步搜索,例如在何处使用名,如“%$firstname%”等

大概是这样的:

$query = "SELECT profileid FROM invoicetable WHERE paidcolumn LIKE '%$paid%' INNER JOIN profiletable ON 
invoicetable.profileid=profiletable.id WHERE (profiletable.firstname LIKE '%$firstname%' AND profiletable.email LIKE ........)";
我感觉我就快到了

还是我必须先通过数组来完成

非常感谢您的帮助。

尝试以下方法:

SELECT DISTINCT I.profileid
FROM invoicetable I
    INNER JOIN profiletable P
        ON I.profileid=P.id
WHERE P.firstname LIKE '%$firstname%'
         AND I.paidcolumn LIKE '%$paid%'
         AND P.email LIKE ........

谢谢似乎让我有点接近,但给了我副本。如果一个人有两张发票,他的档案会出现两次,应该只有一次。你能提供表格方案和它们之间的关系吗?作为快速解决方案,您可以使用
DISTINCT