2017-02-24 20 views
1

次のクエリを実行しようとしていますが、構文エラーが表示されます。複数のJOINSを使用するとエラーが発生する

select count(*) from (((
select * from testlink1915.TL_tcversions where execution_type = 2 and id = 66134) c 
JOIN (select * from testlink1915.TL_nodes_heirachy) d 
    ON id = testlink1915.TL_nodes_heirachy.parent_id) a 
JOIN (select * FROM testlink1915.TL_req_coverage where req_id = 67635) b 
    ON a.id = b.testcase_id); 

次のセグメントを追加したときにのみエラーが表示されます。

c JOIN (select * from testlink1915.TL_nodes_heirachy) d 
    ON id = testlink1915.TL_nodes_heirachy.parent_id 

エラー

エラーコード:1064あなたは、あなたのSQL構文でエラーが発生しています。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして、正しい構文を使用して '近くのJOIN(select * FROM testlink1915.TL_req_coverage where req_id = 67635)b ON a。ラインで1

答えて

1

用途:

c.id = d.parent_id 

代わりの

id = testlink1915.TL_nodes_heirachy.parent_id 

これを試してみてください:

select count(*) 
from (
    select * 
    from (
     select * 
     from (
      select * 
      from testlink1915.TL_tcversions 
      where execution_type = 2 
       and id = 66134 
      ) c join (
      select * 
      from testlink1915.TL_nodes_heirachy 
      ) d on c.id = d.parent_id 
     ) a join (
     select * 
     from testlink1915.TL_req_coverage 
     where req_id = 67635 
     ) b on a.id = b.testcase_id 
    ) t; 

私はどこにでも*を使用することに注意してください。必要な列に置き換えます。

+0

感謝をしてみてください。でも、私は "c join( select * testlink1915.TL_nodes_heirachy から)を削除しても、同じエラーが表示されます.d on c.id = d.parent_id"これは動作し始めます。何かelsse私はここで行方不明ですか? – ycr

+0

roor select文にエイリアスを追加する必要があります。その後、それは働いた、ありがとう。 – ycr

+1

が更新されました。それが助けられた場合は、受け入れられた回答をマークすることを検討してください。 – GurV

0
Try below query : 

select count(*) from 
(
    (
    select * from testlink1915.TL_tcversions 
    JOIN testlink1915.TL_nodes_heirachy ON id = 
    testlink1915.TL_nodes_heirachy.parent_id where execution_type = 2 and id 
    = 66134 
    ) a 
JOIN 
    (
    select * FROM testlink1915.TL_req_coverage where req_id = 67635 
    ) ON a.id = b.testcase_id 
) ; 
1

返信用この

select count(1) from 
    (
    select * from (
    select * from testlink1915.TL_tcversions where execution_type = 2 and id = 66134) c 
    JOIN 
    (select * from testlink1915.TL_nodes_heirachy) d on a.id=d.parent_id 
    join 
    (select * FROM testlink1915.TL_req_coverage where req_id = 67635) a ON a.id = b.testcase_id 

) as E join (select * from testlink1915.TL_nodes_heirachy) F ON E.id = F.parent_id 
関連する問題