Я создаю веб-сайт, где 1. студенты регистрируются самостоятельно, 2. оплачивают мероприятие и 3. затем выбирают компании. У меня есть 3 таблицы с именами: 1) студент 2) pay_confirm 3) company_name
Каждая таблица использует s_id
в качестве внешнего ключа.
- Данные вставляются в таблицу студентов, когда они сами регистрируются.
- Данные вставляются в pay_confirm, когда студент оплачивает мероприятие.
- Данные вставляются в company_name, когда студент выбирает компании.
Структура таблицы ученика состоит из s_id ,fname, lname, phone, email
.
Структура pay_confirm состоит из s_id , status , timestamp
.
Название компании состоит из s_id , c1 , c2 , c3 ,c4
Я хочу знать имя и телефон студентов, которые оплатили мероприятие, но еще не выбрали компании.
SELECT fname, lname, phone
FROM student
WHERE s_id IN (SELECT DISTINCT s_id FROM student, pay_confirm
MINUS
SELECT DISTINCT s_id from company_name);
student
таблица:
+----------------------------------------+
| s_id fname lname phone email |
+----------------------------------------+
| IWS101 sam molly XXXXXX sam@gmail.com |
| IWS102 clay jen XXXXXX clay@gmail.com |
| IWS103 rose glen XXXXXX rose@gmail.com |
+----------------------------------------+
pay_confirm
:
+-----------------------+
| s_id status pay-time |
+-----------------------+
| IWS101 1 XX-XX-XX |
| IWS102 1 XX-XX-XX |
+-----------------------+
company_name
:
+------------------------+
| s_id c1 c2 c3 c4 |
+------------------------+
| IWS101 A B C D |
+------------------------+
Ожидаемый результат:
+-------------------------------------+
| fname lname email phone |
+-------------------------------------+
| clay jen clay@gmail.com XXXXXXX |
+-------------------------------------+