---
title: 'MYSQL'
disqus: hackmd
---
MYSQL
===
MySQL
BCS_INVOICE
INVOICE_ID IN ('0c302d23-5b44-4caa-a604-ab2e9b4ea5d6','4ac0654e-527f-455f-b1f5-8e3061618730','669f52c2-27f5-4594-b3bf-f657d4aa8d5f','71fd8c4a-2478-4473-b49e-0fb43978dbd4')
CAMPAIGN_ID IN ('7f4e7861-65ce-45bf-b356-7fe43c4d8e9b','d0d017c7-0da1-46ee-9b4f-3541c3754134','41bbfae5-792e-4f1a-8e83-bc5b9431f12c','34576dee-7df6-4b2f-a733-bc65893bc522')
------------------------------------------------------------------------------------------------------------------------------------------------
改寫 拿出的欄位 及測試 MySQL 於 db.repository 內
```gherkin=
@Query(value = "SELECT PC.PRIZE_CODE,PL.MID ,PL.MODIFY_TIME FROM BCS_PRIZE_CODE PC LEFT JOIN BCS_PRIZE_LIST PL ON PC.PRIZE_LIST_ID = PL.PRIZE_LIST_ID WHERE PC.GROUP_ID = :groupId",nativeQuery = true)
public List<Object[]> findPrizeCodesAndPrizeListByGroupId(@Param("groupId")String groupId);
==>SELECT PC.PRIZE_CODE,PL.MID ,PL.MODIFY_TIME FROM BCS_PRIZE_CODE PC LEFT JOIN BCS_PRIZE_LIST PL ON PC.PRIZE_LIST_ID = PL.PRIZE_LIST_ID WHERE PC.GROUP_ID ="";
@Query(value = "SELECT PC.PRIZE_CODE,PL.MID ,PL.MODIFY_TIME FROM BCS_PRIZE_LIST PL LEFT JOIN BCS_PRIZE_CODE PC ON PL.PRIZE_LIST_ID = PC.PRIZE_LIST_ID WHERE PL.PRIZE_ID = ?1 " , nativeQuery = true)
public List<Object[]> findPrizeListAndCodeByPrizeId(String prizeId);
SELECT PC.PRIZE_CODE,PL.MID ,PL.MODIFY_TIME FROM BCS_PRIZE_LIST PL LEFT JOIN BCS_PRIZE_CODE PC ON PL.PRIZE_LIST_ID = PC.PRIZE_LIST_ID WHERE PL.PRIZE_ID ="";
```
------------------------------------------------------------------------------------------------------------------------------------------------
```gherkin=
INSERT INTO BCS_INVOICE (欄位名a,欄位名b,欄位名c) VALUES(欄位值a1,欄位值2,欄位值3),(欄位值a4,欄位值5,欄位值6),(欄位值a7欄位值,8,欄位值9);
INSERT INTO BCS_INVOICE (INVOICE_ID,CAMPAIGN_ID,DRAW_STATUS,STATUS,IS_FINISHED,LOTTERY_ID)
VALUES
('76e59659-9a66-11ea-b9c4-000d3a509410','db2e3728-6801-48c8-8191-38a7eb7855be',1,'VALID','N','5774cfdd-e918-42d8-827b-365e0f955dbf'),
('b0d80346-9a66-11ea-b9c4-000d3a509410','db2e3728-6801-48c8-8191-38a7eb7855be',1,'VALID','N','5774cfdd-e918-42d8-827b-365e0f955dbf'),
('b53a1ffc-9a66-11ea-b9c4-000d3a509410','db2e3728-6801-48c8-8191-38a7eb7855be',1,'VALID','N','5774cfdd-e918-42d8-827b-365e0f955dbf'),
('9222c850-9a66-11ea-b9c4-000d3a509410','db2e3728-6801-48c8-8191-38a7eb7855be',1,'VALID','N','5774cfdd-e918-42d8-827b-365e0f955dbf'),
('9c3868db-9a66-11ea-b9c4-000d3a509410','db2e3728-6801-48c8-8191-38a7eb7855be',1,'VALID','N','5774cfdd-e918-42d8-827b-365e0f955dbf');
```
----------------------------------------------------------
PrizeListGroup
groupId = 019cec0f-5cc5-4a31-9680-10dd57a608ec
2f25ace2-039c-4b8b-8cc6-9804b005c53e
SQL條件:
```gherkin=
CAMPAIGN_ID = db2e3728-6801-48c8-8191-38a7eb7855be name:20200413test02
DRAW_STATUS = 1
STATUS = VALID
DB 非空:
INVOICE_ID = (每張發票之PK)(拿已經存在的發票INVOICE_ID可嗎?不行 是唯一的 So 假資料不重複
IS_FINISHED = N
CAMPAIGN_ID = 3212c453-0e96-4090-898c-857b01643e25
INVOICE_ID select uuid();
其他欄位?=>先不考慮
INVOICE_ID :(8-4-4-4-12)=>Q:如何1.產生3000筆不重複((8-4-4-4-12))且DB不存在的資料? 2.進DB?
lotteryId=c5c90c24-1b4a-4186-8b64-d55b053194b3
```
------------------------------------------------------------------------------------------------
line_uid IN ('Uad6f0fe4497d4583872e0d102ffb2238')
```gherkin=
select qt.name,qt.is_optional,qt.order_num,qt.topic_type,qtd.option_answer, count(qa.questionnaire_topic_id) as qtiCount
from questionnaire_answer qa
join questionnaire_topic qt
on qa.questionnaire_topic_id = qt.id
left join questionnaire_topic_detail qtd on qa.questionnaire_topic_detail_id = qtd.id
where qa.questionnaire_main_id = :questionnaireMainId
group by qt.id, qt.is_optional, qt.name, qt.order_num, qt.topic_type, qtd.option_answer, qa.questionnaire_topic_id
order by qt.id ;
select qt.name,qt.is_optional,qt.order_num,qt.topic_type,qtd.option_answer, count(qa.questionnaire_topic_id) as qtiCount
from QUESTIONNAIRE_TOPIC qt
join QUESTIONNAIRE_TOPIC_DETAIL qtd on qt.id = qtd.questionnaire_topic_id
left join QUESTIONNAIRE_ANSWER qa on qtd.id = qa.questionnaire_topic_detail_id
where qt.questionnaire_main_id = 4
group by qt.is_optional, qt.name, qt.order_num, qt.topic_type, qtd.option_answer, qa.questionnaire_topic_id , qtd.id
order by qtd.id ;
```
----------------------------------------------