union

Posted on 2010-11-29 21:58  gmtyt  阅读(191)  评论(0)    收藏  举报

union

  描述:查询城市是A打头和城市包含A的顾客并按照顾客名字排序

  查询句法:

  


var 连接并且过滤相同项 = (from c in ctx.Customers where c.City.Contains("A") select c).Union
  (from c in ctx.Customers where c.ContactName.StartsWith("A") select c).OrderBy(c => c.ContactName);

  对应SQL:


  SELECT [t3].[CustomerID], [t3].[CompanyName], [t3].[ContactName], [t3].[ContactTitle], [t3].[Address], [t3].[City], [t3].[Region], [t3].[PostalCode], [t3].[Country], [t3].[Phone], [t3].[Fax]
  FROM (
  SELECT [t2].[CustomerID], [t2].[CompanyName], [t2].[ContactName], [t2].[ContactTitle], [t2].[Address], [t2].[City], [t2].[Region], [t2].[PostalCode], [t2].[Country], [t2].[Phone], [t2].[Fax]
  FROM (
  SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country], [t0].[Phone], [t0].[Fax]
  FROM [dbo].[Customers] AS [t0]
  WHERE [t0].[City] LIKE @p0
  UNION
  SELECT [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Address], [t1].[City], [t1].[Region], [t1].[PostalCode], [t1].[Country], [t1].[Phone], [t1].[Fax]
  FROM [dbo].[Customers] AS [t1]
  WHERE [t1].[ContactName] LIKE @p1
  ) AS [t2]
  ) AS [t3]
  ORDER BY [t3].[ContactName]
  -- @p0: Input String (Size = 3; Prec = 0; Scale = 0) [%A%]
  -- @p1: Input String (Size = 2; Prec = 0; Scale = 0) [A%]

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3