Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL联接3表_Sql_Sql Server 2008_Join_Left Join - Fatal编程技术网

SQL联接3表

SQL联接3表,sql,sql-server-2008,join,left-join,Sql,Sql Server 2008,Join,Left Join,我正在使用SQL2008R2 我从联接表中获得了重复值: 正如你们在图片上看到的,我得到了5530和5533的两倍值 my table FAWEB\u客户端,ID代码为\u客户端 带有ID NOID和NO ORDRE的表格LETTREVOIT ID为NO\u ORDRE和NO\u CLIENT的表ORDRE 我不能使用: 错误消息:由于文本数据类型不可比较,无法将其选择为独立的我怀疑问题在于您的联接不正确。我怀疑您在字母上缺少联接条件。No\u Ordre: SELECT * FROM LET

我正在使用SQL2008R2

我从联接表中获得了重复值:

正如你们在图片上看到的,我得到了5530和5533的两倍值

my table FAWEB\u客户端,ID代码为\u客户端
带有ID NOID和NO ORDRE的表格LETTREVOIT
ID为NO\u ORDRE和NO\u CLIENT的表ORDRE

我不能使用:
错误消息:由于文本数据类型不可比较,无法将其选择为独立的

我怀疑问题在于您的联接不正确。我怀疑您在
字母上缺少联接条件。No\u Ordre

SELECT *
FROM LETTRE_VOIT 
 LEFT JOIN FAWEB_CLIENT ON FAWEB_CLIENT.CODE_CLIENT = LETTRE_VOIT.CODE_CLIENT
 LEFT  JOIN ORDRE ON ORDRE.CODE_DEST = LETTRE_VOIT.CODE_DEST AND ORDRE.CODE_CLIENT = LETTRE_VOIT.CODE_CLIENT
   AND ORDRE.DATE_CLOTUR = LETTRE_VOIT.DATE_CLOTURE and
   LETTRE_VOIT.No_ORDRE = Order.No_ORDRE
WHERE  LETTRE_VOIT.NO_ORDRE IN ('5530','5533')

您可以删除一些可能变得多余的其他联接条件。

为什么不能使用
DISTINCT
?文本数据类型不能选择为DISTINCT,因为它不可比较。您可以将查询作为文本复制到问题中吗?作为屏幕截图更容易阅读,修改答案也更容易。
SELECT *
FROM LETTRE_VOIT 
 LEFT JOIN FAWEB_CLIENT ON FAWEB_CLIENT.CODE_CLIENT = LETTRE_VOIT.CODE_CLIENT
 LEFT  JOIN ORDRE ON ORDRE.CODE_DEST = LETTRE_VOIT.CODE_DEST AND ORDRE.CODE_CLIENT = LETTRE_VOIT.CODE_CLIENT
   AND ORDRE.DATE_CLOTUR = LETTRE_VOIT.DATE_CLOTURE and
   LETTRE_VOIT.No_ORDRE = Order.No_ORDRE
WHERE  LETTRE_VOIT.NO_ORDRE IN ('5530','5533')