Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
嵌套sql联接_Sql_Nested - Fatal编程技术网

嵌套sql联接

嵌套sql联接,sql,nested,Sql,Nested,我只有第一个表fi.id、fi.user\u id、fi.amount、fi.currency、fi.created\u at作为输出,带有以下代码。你能告诉我为什么JOIN无效吗。 谢谢你的帮助 马福德 作为选择的一部分,您只能从表fund_infos返回值 要从Y输出列,请在“选择”对话框中指定列: SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at, Y.user_id, Y.first_kana

我只有第一个表fi.id、fi.user\u id、fi.amount、fi.currency、fi.created\u at作为输出,带有以下代码。你能告诉我为什么JOIN无效吗。 谢谢你的帮助 马福德


作为选择的一部分,您只能从表fund_infos返回值

要从Y输出列,请在“选择”对话框中指定列:

 SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at,
        Y.user_id, Y.first_kana_name, Y.last_kana_name -- You can also use Y.* here
 FROM fund_infos fi
 JOIN (
      SELECT ii.id, ii.user_id, ii.first_kana_name, ii.last_kana_name
      FROM individual_infos ii
      ) Y 
   ON fi.user_id = Y.id
 ORDER BY fi.id

作为选择的一部分,您只能从表fund_infos返回值

要从Y输出列,请在“选择”对话框中指定列:

 SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at,
        Y.user_id, Y.first_kana_name, Y.last_kana_name -- You can also use Y.* here
 FROM fund_infos fi
 JOIN (
      SELECT ii.id, ii.user_id, ii.first_kana_name, ii.last_kana_name
      FROM individual_infos ii
      ) Y 
   ON fi.user_id = Y.id
 ORDER BY fi.id

您需要在“选择”字段中包含所需的所有列。同样重要的是,您不需要子查询来执行此操作:

SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at,
       ii.user_id, ii.first_kana_name, ii.last_kana_name
FROM fund_infos fi JOIN
     individual_infos ii
     ON fi.user_id = ii.id
ORDER BY fi.id;
注:

您不需要在SELECT中包含ii.id,因为您已经拥有fi.user\U id。 您可能希望在一个或多个user_id字段上重命名,以便它们具有不同的名称。 您确定联接条件正确吗?奇怪的是,这两个表都有ID和用户ID。
您需要在“选择”字段中包含所需的所有列。同样重要的是,您不需要子查询来执行此操作:

SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at,
       ii.user_id, ii.first_kana_name, ii.last_kana_name
FROM fund_infos fi JOIN
     individual_infos ii
     ON fi.user_id = ii.id
ORDER BY fi.id;
注:

您不需要在SELECT中包含ii.id,因为您已经拥有fi.user\U id。 您可能希望在一个或多个user_id字段上重命名,以便它们具有不同的名称。 您确定联接条件正确吗?奇怪的是,这两个表都有ID和用户ID。 使用连接

SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at, ii.id, ii.first_kana_name,
       ii.last_kana_name
FROM fund_infos fi
     JOIN individual_infos ii ON fi.user_id = ii.user_id
ORDER BY fi.id;
使用连接

SELECT fi.id, fi.user_id, fi.amount, fi.currency, fi.created_at, ii.id, ii.first_kana_name,
       ii.last_kana_name
FROM fund_infos fi
     JOIN individual_infos ii ON fi.user_id = ii.user_id
ORDER BY fi.id;

您使用的是哪种数据库管理系统?对于大多数dbms产品来说,性能方面应该没有任何问题。有点难读。不相关,但是:从个人信息中选择ii.id、ii.user\U id、ii.first\U kana\U name、ii.last\U kana\U name。。。可以简化为加入个人信息…非常感谢。我使用的是pg Admin。您使用的是哪种数据库管理系统?对于大多数dbms产品来说,性能方面应该没有任何问题。有点难读。不相关,但是:从个人信息中选择ii.id、ii.user\U id、ii.first\U kana\U name、ii.last\U kana\U name。。。可以简化为加入个人信息…非常感谢。我正在使用pg管理员。非常感谢大家。我一回到我的公司就会试试,并告诉你它是否有效。非常感谢大家。我一回到我的公司就会试试它,并告诉你它是否有效。