我有两个表,分别称为transactions(交易ID,HotelID,service ..)和services(id,userid,HotelID,类型),我需要从那里创建视图。在这里,第一个表有15个元组,第二个表有8个元组。

当我编写此SQL查询时:

CREATE VIEW summary
AS
    SELECT TransactionID, userid, HotelID, service
    FROM transactions, services
    WHERE transactions.HotelID = services.name


我在摘要视图中获得了105个结果。我如何摆脱这个重复问题。

最佳答案

据我了解您的问题,我认为您需要使用组连接和组通过使用联接查询。
解决使用group by和group concate重复记录的问题。
并使用join可以从两个表中获取公共数据。
请尝试以下查询。
目前,我不了解您的表结构,这就是为什么我假设您的查询并创建了自己的表,并根据它们创建了查询的原因。

例如:


  选择
  c.country_id,c.country_name,group_concat(s.state_id),group_concat(s.state_name)来自国家c内连接状态s在c.country_id = s.country_id组
  通过c.country_id;


如果您有任何疑问,请随时询问。

10-08 15:23