0

こんにちは、私は 3 つの MySql テーブルを持っています

-Doc

-DocType

-組織

私はそのようなクエリを作成しました:

Doc.Code、Doc.DataAccept、DocTypes.Name、Org.Name を選択します

Doc、DocTypes、Orgから

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

結果で私は持っています

|コード|DataAccept|名前|名前|

17  |    -   |  - |  - | 

18  |    -   |  - |  - | 

24  |    -   |  - |  - | 

26  |    -   |  - |  - | 

32  |    -   |  - |  - | 

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 < 100;

大丈夫より

|コード|DataAccept|名前|名前|

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コード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

ORDER BYコード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 に答える