2016-08-30 13 views
-1

私は次の2つの表があります。私は表示するクエリを記述する必要がSQLクエリ

ユーザー[表]

UserID [PK] (Integer) 
FirstName (VarChar) 
LastName (VarChar) 
EmailAddress (VarChar) 
RegistrationDate (DateTime) 

受注[表]

OrderId [PK] (Integer) 
UserId [FK] (Integer) 
OrderDate (DateTime) 
OrderFulfilled (Boolean) 

を当日前に提出された最新の100件の注文はまだ完了していません。注文日、注文ID、メールアドレス、登録日を含める必要があります。

誰かが私にこれを手伝ってもらえますか?

おかげ

+3

これを達成するために何か試しましたか?はいの場合は、試したことを分かち合い、サンプル入力に基づいて期待される結果を表示してください。 'oracle、mysql、sql-server'? – 1000111

+2

oracle、sql-serverおよびmysqlには、非SQL標準の関数と構文があります。あなたの正確な環境は何ですか? –

+0

関連していない製品にタグを付けないでください!あなたは、Oracle、MySQL、SQL Server上で実行される答えを見つけることはできません... – jarlh

答えて

0

使用MS SQL Server環境でのSELECT TOP声明:Oracleで使用するために

SELECT TOP 100 * 
FROM Orders o 
INNER JOIN Users u 
ON o.UserID = u.UserID 
WHERE OrderDate < CAST(SYSDATETIME() AS DATE) 
AND OrderFulfilled = 0 
ORDER BY OrderDate DESC 

:MySQLの使用のために

ROWNUM <= 100 

LIMIT 100 
+0

これはどのdbmsですか? – jarlh

+0

もう一度お読みください。 SQL Serverの例では、TOP 100の代わりにROWNUM <= 100をOracleのORDER BYの下に使用します。 mySqlの場合はTOP100を削除し、代わりにLIMIT 100を使用します。したがって、タグ内のすべてのDBMSに対して機能します。 –

+0

あなたが編集してその情報を追加している間、私のコメントを書いたようです... – jarlh

0

このクエリはpropあなたのために大変 -

SELECT OrderId, OrderDate, EmailAddress, RegistrationDate 
FROM Orders as o 
INNER JOIN Users as u 
ON o.UserID = u.UserID 
WHERE OrderDate < CURDATE() 
AND OrderFulfilled = 0 
ORDER BY OrderDate DESC 
LIMIT 0,100 
+0

これはどのdbmsですか? – jarlh

+0

"MySql"のために使用しています –

+0

MySQLは問題ありません。ありがとう! –