0

2つのテーブルがあります。1つは注文IDのテーブルtbl_OrderLineで、もう1つは学生IDのテーブルtbl_Studentです。

tbl_OrderLineからOrderLineIDを選択し、tbl_StudentからStudentIDを選択したい

これは私がこれまでに試したことです:

INSERT INTO tbl_StudentPurchaseFromUnibooks 
  (OrderLineID, StudentID )
SELECT tbl_OrderLine.OrderLineID, 
SELECT tbl_Student.StudentID 
 WHERE tbl_Student.LoggedIn ="Yes";

tbl_OrderLine:

OrderLineID     Price       Qty
1                 5          2

tbl_Student:

StudentID     Name    LoggedIn
1             Joe      Yes

tbl_StudentPurchaseFromUnibooks:

StudentPurchaseID    OrderLineID    StudentID    PurchaseDate
1                     1               1            09/12/2012

また、MicrosoftAccessでのログインを模倣する簡単な方法を知っている人はいますか。これはMicrosoftAccessプロジェクトのダミーデータベースであるため、セキュリティは問題ではありませんが、ユーザーをログインさせる方法を知りたいだけです。現時点では、ユーザーがログインしている場合はLoggedIn値を「Yes」に更新しますが、明らかにこれは効率的ではありません。誰もこれを手伝うことができない場合は、後で別の質問として投稿します:)ありがとう!

4

1 に答える 1

3

2つの別々のSQLではなく、結合として選択を定義する必要があります。MSがどのように機能するかはよくわかりませんが、次のような方法でうまくいくはずです。

INSERT INTO tbl_StudentPurchaseFromUnibooks (OrderLineID,   StudentID )
SELECT tbl_OrderLineID.OrderLineID, tbl_Student.StudentID
from tbl_OrderLineId
left join tbl_Student on ???
WHERE tbl_Student.LoggedIn ="Yes";

テーブルに実際に名前tbl_OrderLineIDを付ける必要があるかどうかはわかりません。結合条件を知っておく必要があります。

于 2012-12-09T16:09:37.820 に答える