7

MySQL バージョン 5.6を使用しています。event2 つの ID と日付を受け取るテーブルと、 column を含むテーブルがstudentありますid。名前が一致するときに 2 つの ID を挿入したい(WHERE firstname =.., AND lastname=..,)idただし、 1回の挿入コマンドで2行から取得する方法がよくわかりません。誰でも私を助けてもらえますか?

ありがとう、ポール

4

1 に答える 1

17

テーブルに挿入しようとしている場合は、を使用しますinsert。別のテーブルまたはクエリからデータを取得するには、insert . . . selectフォームが必要です。

あなたの言うことから、これはあなたが望むもののように思えます:

insert into event(id1, id2, date)
    select s1.id, s2.id, now()
    from student s1 cross join
         student s2
    where s1.id <> s2.id and
          s1.firstname = firstname and s1.lastname = lastname and
          s2.firstname = firstname and s2.lastname = lastname;

名前が一致する (ただし、同じ ID を持たない) 学生のすべてのペアが返されます。

于 2013-06-06T14:47:16.813 に答える