cardID
クエリの後に'のリストを返しました。それらの'は2つのテーブルとcardID
に属しています。では、どうすればそれらを結合して、の名前とそれに応じた名前を示すテーブルを返すことができますか?Student
Personnel
cardID
Student
Personnel
Student
Personnel
cardID
人事表:
PERSONNELID NUMBER(9,0)
PERSONNELNAME VARCHAR2(20)
PERSONNELSURNAME VARCHAR2(20)
PERSONNELJOB VARCHAR2(40)
PERSONNELCARDID NUMBER(4,0)
学生用テーブル:
STUDENTID NUMBER(9,0)
STUDENTNAME VARCHAR2(20)
STUDENTSURNAME VARCHAR2(20)
STUDENTDEPT VARCHAR2(40)
STUDENTFACULTY VARCHAR2(20)
STUDENTCARDID NUMBER(4,0)
CardIDテーブル
CARDID NUMBER(4,0)
USERTYPE VARCHAR2(20)
CHARGE NUMBER(3,2)
CREDIT NUMBER(4,2)
PaymentDeviceテーブル:
ORDERNO NUMBER
PAYDEVIP NUMBER(8,0)
PAYDEVDATE DATE No
PAYDEVTIME VARCHAR2(8)
CHARGEDCARDID NUMBER(9,0)
MEALTYPE VARCHAR2(10)
2012年12月27日にカフェテリアで食べた最初の10人の名前と名前を返そうとしました
SELECT C.CARDID
FROM CARD C, PAYMENTDEVICE P
WHERE P.ORDERNO
BETWEEN (SELECT MIN(ORDERNO)
FROM PAYMENTDEVICE
WHERE PAYDEVDATE='27/12/2012') AND (SELECT MIN(ORDERNO)
FROM PAYMENTDEVICE
WHERE PAYDEVDATE='27/12/2012')+10 AND C.CARDID=P.CHARGEDCARDID;
私たちorderNo
は毎日リセットされるわけではありませんが、増え続けているので、orderNo
その日の最小値を見つけ、この値に10を加算して、それらの注文番号の間にその日に食べる最初の10人を見つけます。
したがって、このクエリから何が返されますか?
CARDID
1005
1000
1002
1003
1009
2000
2001
1007
2002
1004
1006
そして、それらのcardId(1で始まる)のstudentCardId
いくつかはであり、それらのいくつか(2で始まる)はPersonnelCardId
です。では、どうすればそれに応じて名前を照合して書き込むことができますか?