【问题标题】:Cross Join in SQL 2005 with like在 SQL 2005 中使用 like 交叉连接
【发布时间】:2011-09-22 15:58:13
【问题描述】:

以下是两个查询。我在 Access 中得到正确的返回,但在 SQL 中没有返回。我在 SQL 版本中的语法是否错误?奇怪的是,即使我省略了 WHERE 语句的第二部分,返回的值也没有意义(即姓氏 = tblx.Last Name = Hull / tbly.Last Name = Morris)......有什么想法吗?

--SQL 2005

SELECT tblx.[姓氏], tblx.[名字] FROM tblx 交叉连接 tbly WHERE (tblx.[Last Name] Like '%[tbly].[Last Name]%') AND (tblx.[First Name] Like '%Right([tbly].[First Name],3) %')

--访问2007

SELECT tblx.[姓氏], tblx.[名字] FROM tblx 交叉连接 tbly WHERE (((tblx.[Last Name]) Like "" & [tbly].[Last Name] & "") AND ((tblx.[First Name]) Like "" & Right([tbly].[First Name],3) & ""))

【问题讨论】:

  • 应该是:SELECT tblx.[Last Name], tblx.[First Name] FROM tblx cross join tbly WHERE (((tblx.[Last Name]) Like '%' + [tbly] .[Last Name]+'%') AND ((tblx.[First Name]) Like '%' + Right([tbly].[First Name],3) +'%')) 与 Acess sql 相同。
  • 太棒了!谢谢pl..

标签: cross-join


【解决方案1】:

应该是:

SELECT tblx.[Last Name], tblx.[First Name] FROM tblx cross join tbly WHERE (((tblx.[Last Name]) Like '%' + [tbly].[Last Name]+'%' ) AND ((tblx.[First Name]) Like '%' + Right([tbly].[First Name],3) +'%'))

Acess sql 也是如此。

【讨论】:

    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    相关资源
    最近更新 更多