2014-07-09 28 views
-1

我应该完成下一个查询,我需要一点帮助。我想在德尔福显示在一个DBGrid组分的测试结果7SQL查询一行中的几行

我的表如下所示:

Customer Name | Customer Adress | Site Name | Type 
    CBA Ltd. | Budapest  | K. city | Retail 
    CBA Ltd. | Budapest  | K. city | Wholesale 
    CBA Ltd. | Budapest  | K. city | other 
    CBA Ltd. | Budapest  | C. City | Retail 

我想列出CBA有限公司,布达佩斯,K.城市只有一行。布达佩斯M.城市将获得新的一排。如果所有三个值都相等,那么我们需要比较所有三列,然后将它们列在一行中。

任何人都可以帮助我解决这个问题吗?

+0

这有什么做用Delphi。您的问题似乎只与您运行的SQL查询有关。您应该专注于描述您使用的DBMS的标签。现在你有MySQL和SQL Server标签了,那真的是你想要的吗? – TLama

+0

我的英文不完整,请详细阅读 – Steve88

+0

我发现你希望在Delphi应用程序的'TDBGrid'中显示结果,但这是通过数据源分配给网格的查询组件。你只需要运行一个适当的查询。这是你现在的任务。 – TLama

回答

0

您可能想要对它们进行分组,但要显示哪种类型?他们如何?

SELECT customer_name, customer_addr, site_name, GROUP_CONCAT(type) AS type 
FROM customers 
GROUP BY customer_name, customer_addr, site_name 

这将产生:

customer_name | customer_addr | site_name | type 
    CBA Ltd. | Budapest  | K. city | Retail, Wholesale, other 
    CBA Ltd. | Budapest  | C. City | Retail 
+0

对不起,我的坏...它不是客户名称,客户地址,我只想在一行中显示customer_name,customer_adress和site_name,如果我得到了这个查询我想列出类型点击客户名称(单元格c舔)在其他dbgrid。 – Steve88

+0

@ Steve88,如果这些不是你想要的结果,你应该把你想要的结果放在你的问题中。 –

+0

这将是dbgrid中的第一个结果。 – Steve88