2

何が欠けているのかわかりませんが、それほど難しいことではないはずです。2つのテーブルがあります。最初の表は、サイトで可能なすべてのジョブを示しています。2番目の表は、サイトでジョブが完了したときのものです。可能なすべてのジョブを取得し、秒テーブルのデータに参加するクエリが必要です。ジョブを完了していないサイトの値はNULLになります。

例:

表1:
ID
名の説明表2: ID サイト ID ステータス
jobID






SELECT table1.* , table2.*
FROM table1
LEFT JOIN table2
ON table1.id = table2.jobID
WHERE siteID = 12

これは、完了したジョブのみを返し、すべてのジョブが完了および未完了ではありません。

よろしくお願いします。

4

2 に答える 2

1

この特定のサイトまたはnullが必要な場合は、whereステートメント(2番目のテーブルの行が空の場合はsiteID = 12の条件を満たしていない)を削除するか、変更( "OR siteID is NULL"を追加)する必要があります。

于 2012-11-14T22:50:14.907 に答える
0

次のように、の値の順序を変更するだけで、簡単な変更を行う必要がありますJOIN

SELECT table1.* , table2.* 
FROM table1
LEFT JOIN table2
ON table2.jobID = table1.id
WHERE siteID = 12 OR siteID IS NULL

また、結果がない場合はsiteIDになることに注意してください。またNULL、を変更WHEREしてください。

于 2012-11-14T22:49:57.753 に答える