我觉得如果是连接查询的话field应该这样写:
SELECT DISTINCT table1.field1, table2.field2 INNER JOIN table1 ON ...
INNER JOIN table2 ON ...
......
你试试吧,我以前也遇见过
SELECT DISTINCT table1.field1, table2.field2 INNER JOIN table1 ON ...
INNER JOIN table2 ON ...
......
你试试吧,我以前也遇见过
INNER JOIN table2 ON ...
......select后面得先跟个表再去join其它表的
SELECT DISTINCT table1.field1, table2.field2 FROM table1
INNER JOIN table2 ON table1.fieldN=table2.fieldN
INNER JOIN table3 ON table2.fieldX=table3.fieldX
INNER JOIN table4 ON table3.fieldY=table4.fieldY
用SQL Server的事件探查器跟踪后发现在table2.field2后加上了" , * ".
如果去掉所加的", *"结果是正确的,我不明白为什么会自动加上一个*号.
请使用如下语句:
SELECT DISTINCT table1.field1, field2=(select table2.field2 from table1 INNER JOIN table2 ON table1.fieldN=table2.fieldN) FROM table1
INNER JOIN table3 ON table2.fieldX=table3.fieldX
INNER JOIN table4 ON table3.fieldY=table4.fieldY