0
  1. 私は 2 つのテーブルと 1 つのリストを持っていますstudents_playingが、名前と姓を合わせて約 10 文字の長さです....
  2. から選択したいのavail_studentsですが、最初の 5 文字と同じ名前の生徒を選択したくありません。

現在の私の選択コマンドは次のとおりです。

select * from avail_students where lastplayed<now() and name not IN strip(students_playing),5)

最後の部分が正しくないことはわかっていますが、どこから始めればよいかさえわかりません。

これから私が得るどんな種類の助けも大歓迎です。前もって感謝します!

4

1 に答える 1

3

LEFT 関数ネストされたサブクエリが探しているものだ と思います。

以下の例では、最初の 5 文字のみを比較する必要があります。

SELECT * FROM avail_students 
WHERE lastplayed < now() 
AND NOT EXISTS (
    SELECT * FROM students_playing
    WHERE LEFT( students_playing.name, 5 ) = LEFT( avail_students.name, 5 )
)
于 2012-08-03T18:14:20.870 に答える