Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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
Php mysql查询,用于从不同表中获取建议连接的相关数据_Php_Mysql_Social Networking - Fatal编程技术网

Php mysql查询,用于从不同表中获取建议连接的相关数据

Php mysql查询,用于从不同表中获取建议连接的相关数据,php,mysql,social-networking,Php,Mysql,Social Networking,我们正在开发具有不同概念的类似门户网站的社交网站…但为了实现建议的连接,我们在mysql查询中遇到了麻烦。。。 我们正在尝试使用相似数据的用户 SELECT u.* FROM educonnect_user u LEFT OUTER JOIN educonnect_user_qualification q ON u.id = q.user_id LEFT OUTER JOIN educonnect_user_contact a1 ON u.id = a1.use

我们正在开发具有不同概念的类似门户网站的社交网站…但为了实现建议的连接,我们在mysql查询中遇到了麻烦。。。 我们正在尝试使用相似数据的用户

SELECT u.* 
    FROM educonnect_user u 
    LEFT OUTER JOIN  educonnect_user_qualification q ON u.id = q.user_id 
    LEFT OUTER  JOIN educonnect_user_contact a1 ON u.id = a1.user_id 
WHERE q.type_of_institution in 
        (
            SELECT type_of_institution 
            FROM educonnect_user_qualification qi 
            WHERE qi.user_id = 3
         ) 
      AND q.college in 
         (
             select college 
             from educonnect_user_qualification qc 
             where qc.user_id = 3
          ) 
      AND q.country in 
          (
             select country 
             from educonnect_user_qualification qco 
             where qco.user_id = 3
          ) 
      AND a1.country in 
          (
             select country 
             from educonnect_user_contact cc 
             where cc.user_id = 3
          ) 
      AND a1.state in 
          (
             select state 
             from educonnect_user_contact cs 
             where cs.user_id = 3
          )

像这样,我加入了10个表..但问题是无论我在哪里给出
操作符,都不会生成结果,如果我给出
操作符,它会返回所有用户..这是这些操作符将给出我知道的输出的逻辑..但是对于这个问题,我需要有效的不同建议..或者查询可以是使用任何其他特定的操作员进行更改???

条件下,您不需要所有这些
。您只需要
其中educonnect\u user.user\u id=3
,因为
educonnect\u user
表与其他两个表
educonnect\u user\u qualification
educonnect\u user\u contact
连接,因此该连接将确保对于
id=3
的用户,字段:
type\u of\u institution,
学院
国家
,…(和其他字段)存在于同一用户的其他两个表中,但您需要关心需要何种类型的联接,这取决于您要从表中选择的字段是
。因此,我认为以下问题是您所寻找的:

SELECT u.* 
FROM educonnect_user u 
LEFT OUTER JOIN  educonnect_user_qualification q ON u.id = q.user_id 
LEFT OUTER  JOIN educonnect_user_contact a1 ON u.id = a1.user_id 
where u.user_id = 3
希望这会有所帮助:

SELECT u.* 
    FROM educonnect_user u 
    LEFT OUTER JOIN  educonnect_user_qualification q ON u.id = q.user_id 
    LEFT OUTER  JOIN educonnect_user_contact a1 ON u.id = a1.user_id 
    left join educonnect_user_qualification qi on (q.type_of_institution=qi.type_of_institution and qi.user_id=3)
  left join educonnect_user_qualification qc  on (q.college=qc.college and qc.user_id=3)
  left join educonnect_user_qualification qco on (q.country=qco.country and qco.user_id=3)
  left join educonnect_user_contact cc on (a1.country=cc.country and cc.user_id=3)
  left join educonnect_user_contact cs on (a1.state=cs.state and cs.user_id=3)  

不,mr.MGA,用户\u id=3是示例一..我想从用户\u id=3获取数据,从该数据中,我希望所有匹配的用户在db中具有相似的数据…sashi先生,这只返回用户\u id=3值..我希望所有匹配用户\u id=3记录的用户data@Pushparaj:已编辑查询,请检查并在需要更改时还原