Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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
涉及3个表的sql查询_Sql_Firebird - Fatal编程技术网

涉及3个表的sql查询

涉及3个表的sql查询,sql,firebird,Sql,Firebird,我有3张桌子,就像:- Table_1 Table_2 Table_3 ------------------------ -------------------- -------------------- id bk_title strm_id bk_no bk_isbn s_id strm_name ----------------------- ------------

我有3张桌子,就像:-

    Table_1               Table_2                    Table_3
------------------------  --------------------  --------------------
id  bk_title  strm_id     bk_no   bk_isbn            s_id    strm_name
-----------------------  ---------------------  -----------------------
1   A_Book    3           1       ISBN0001           3       Science
2   B_Book    4           1       ISBN0002           4       History
                          2       ISBN0003
我想把记录作为

BK_Title    Num_Copies  Stream
---------------------------------------
A_Book      2       Science
B_Book      1       History
我该怎么做。请给出建议。

试试这个:

SELECT BK_Title, COUNT(Table_2.bk_isbn) AS Num_Copies, Table_2.strm_name AS Stream
FROM Table_1
JOIN Table_2 on (Table_1.id = Table_2.bk_no)
JOIN Table_3 on (Table_1.strm_id = s_id)
GROUP BY BK_Title, strm_name
ORDER BY BK_Title

这是一个包含两个联接和一个group by的基本查询。感谢领先和向下投票。但是,选择a.BK_TITLE,将(*)计数为num_副本,c.strm_name from table_1 a JOIN table_2 b On a.id=b.BK_no JOIN table_3 c On a.strm_id=c.strm_id group by a.BK_TITLE不编译。我不投反对票。谢谢@alxdroidev的回答。