0

以下に 2 つのクエリを示します。Access では正しく返されますが、SQL では NO が返されます。SQL バージョンの構文は間違っていますか? 興味深いことに、WHERE ステートメントの 2 番目の部分を省略しても、返される値は意味をなしません (つまり、姓 = tblx.姓 = ハル / tbly.姓 = モリス)...何かアイデアはありますか?

--SQL 2005

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].[名],3) %')

-- アクセス 2007

SELECT tblx.[姓], tblx.[名] FROM tblx cross join tbly WHERE (((tblx.[姓]) Like " " & [tbly].[姓] & " ") AND ((tblx .[First Name]) Like " " & Right([tbly].[First Name],3) & " "))

4

1 に答える 1

0

そのはず:

SELECTtblx。[LastName]、tblx。[First Name] FROM tblx cross join tbly WHERE(((tblx。[Last Name])Like'%'+[tbly]。[LastName]+'%')AND( (tblx。[First Name])Like'%' + Right([tbly]。[First Name]、3)+'%'))

Acesssqlについても同じです。

于 2011-09-23T00:10:57.210 に答える