在查询选择MySQL时使用表行作为列

时间:2014-08-07 20:51:23

标签: mysql select

我需要进行查询(不是另一张表,我试图避免这种情况)加入3个表格。我有一个表指定所有权方案,如下所示:

+--------------------------------------------+
|id_scheme | scheme_name | registration_date |
+--------------------------------------------+

和另一个包含医疗设备的表,这些有一个所有权计划和一个供应商ID,最后是另一个包含供应商的表,所以,我需要一个查询,可以告诉我每个供应商,我有多少设备,我在每个所有权计划类别中拥有多少这些设备。我不知道如何编写一个使用表行(我所有的所有权方案)作为查询结果列的查询。因此,查询可以返回如下内容:

+-----------------------------------+
|supplier|equipments|acquired|leased|
+-----------------------------------+
|Philips |    50    |   13   |  30  |
+-----------------------------------+

或者像这样:

+----------------------------------------------+
|supplier|equipments|acquired|leased|commodatum|
+----------------------------------------------+
|Philips |    50    |   13   |  30  |     7    |
+-----------------------------------+----------+

等等。 请非常感谢您的帮助。

修改 我在图像中提供了我想要的示例,设备和供应商表当然有更多列,但我认为这就是我需要构建查询

enter image description here

1 个答案:

答案 0 :(得分:0)

我希望我理解你的问题。以下我试图用一个例子来回答。

SELECT name,author,title from customerstable,classicstable
WHERE customerstable.isbn = classicstable.isbn;

这将显示一个表,该表包含来自两个表(customerstable和classicstable)的数据,只要它们共享一个isbn。 当然,您可以使用数据更改值。但更详细的结构将有助于更好的答案。甚至可能是您尝试加入查询的每个表的前几行。

在您的数据库中,isbn可以替换为多个表中相同的ID。