0

大家好,我有三个 MySql 表

-文档

-DocType

-组织

我做了这样的查询:

选择Doc.Code、Doc.DataAccept、DocTypes.Name、Org.Name

来自 Doc、DocTypes、Org

其中Doc.Type=DocTypes.Code AND Doc.Org=Org.Code AND Doc.Code;

结果我有

|代码|数据接受|名称|名称|

17  |    -   |  - |  - | 

18  |    -   |  - |  - | 

24  |    -   |  - |  - | 

26  |    -   |  - |  - | 

32  |    -   |  - |  - | 

代码字段不是串联的

如果进行查询

选择Doc.Code、Doc.DataAccept、DocTypes.Name、Org.Name

来自 Doc、DocTypes、Org

其中Doc.Type=DocTypes.Code AND Doc.Org=Org.Code AND Doc.Code AND Doc.Code < 100;

没关系

|代码|数据接受|名称|名称|

1   |    -   |  - |  - | 

2   |    -   |  - |  - | 

3   |    -   |  - |  - | 

4   |    -   |  - |  - | 

5   |    -   |  - |  - | 

如果 Doc.Code < 1000 又不是系列,我尝试使用 ORDER BY Code

选择Doc.Code、Doc.DataAccept、DocTypes.Name、Org.Name

来自 Doc、DocTypes、Org

其中Doc.Type=DocTypes.Code AND Doc.Org=Org.Code AND Doc.Code AND Doc.Code

ORDER BY Code DESC ;

选择Doc.Code、Doc.DataAccept、DocTypes.Name、Org.Name

来自 Doc、DocTypes、Org

其中Doc.Type=DocTypes.Code AND Doc.Org=Org.Code AND Doc.Code AND Doc.Code

按代码ASC订购

但结果我没有按顺序订购

我在这里错过了什么?

谢谢你的时间,请原谅我的英语

"-" - 普通数据,仅用于表示。

4

1 回答 1

0
SELECT Doc.Code,Doc.DataAccept,DocTypes.Name,Org.Name

FROM Doc LEFT OUTER JOIN DocTypes JOIN Org

ON Doc.Type=DocTypes.Code AND Doc.Org=Org.Code;

WHERE Doc.Code < 1000 ;

ORDER BY 1

这个解释也可能有用。

于 2013-09-05T14:10:53.043 回答