Php 我想从mysql表中获取数据表单,其中的数据是否与右侧匹配

Php 我想从mysql表中获取数据表单,其中的数据是否与右侧匹配,php,mysql,sql,mysqli,phpmyadmin,Php,Mysql,Sql,Mysqli,Phpmyadmin,c.id=d.client\u id中的。。我想要所有与d.client\u id匹配或不匹配的行表单c.id。如果我没有弄错,您希望通过一个公共的atribute id连接多个表。在我的建议中,您应该使用左连接 在此处查看连接之间的差异,并确定哪些连接更适合您: 使用左外连接 但要做到这一点,您应该改为使用显式连接语法:- SELECT a.*,b.clientId,c.partner_name, d.seo FROM project_estimate_detail as a, pr

c.id=d.client\u id中的
。。我想要所有与
d.client\u id

匹配或不匹配的行表单c.id。如果我没有弄错,您希望通过一个公共的atribute id连接多个表。在我的建议中,您应该使用左连接

在此处查看连接之间的差异,并确定哪些连接更适合您:

使用左外连接

但要做到这一点,您应该改为使用显式连接语法:-

SELECT a.*,b.clientId,c.partner_name, d.seo 
FROM project_estimate_detail as a,
    project as b,
    partner as c,
    projection as d 
WHERE a.project_cat_id = 5 and 
      a.project_id = b.id and 
      b.clientId = c.id and 
      c.status =1 and c.id = d.client_id 
GROUP BY(c.partner_name)

请注意,我怀疑这不会给你想要的结果。您将按_partner_name_u进行分组,因此每个partner_name返回一行。由于我假设一个合作伙伴名称将有多个客户,他们可以有多个估计,您将有一行来自\u project\u estimate\u detail\u的详细信息,并为每个\u partner\u name\u返回项目;哪些行的详细信息尚未确定,可能是随机的。

谢谢bro@Sal00m…..但请给我ans..没问题,但您可能需要修改它以对行分组进行排序。估计详细信息如何?一般来说,我会尝试提及SELECT中的所有非聚合列,这至少使其符合SQL标准。我的回答是第一个,而且是正确的,我只是没有为您做这项工作…:(
SELECT a.*, b.clientId, c.partner_name, d.seo 
FROM project_estimate_detail as a,
INNER JOIN project as b ON a.project_id = b.id
INNER JOIN partner as c ON b.clientId = c.id
LEFT OUTER JOIN projection as d ON c.id = d.client_id 
WHERE a.project_cat_id = 5 
AND c.status =1 
GROUP BY(c.partner_name)