Skip to content
Snippets Groups Projects
Commit df61ec8f authored by eunbye01's avatar eunbye01
Browse files

쿼리 수정

parent 388e0f07
No related branches found
No related tags found
No related merge requests found
Pipeline #8779 canceled
...@@ -26,23 +26,26 @@ router.get('/menu', (req, res) => { ...@@ -26,23 +26,26 @@ router.get('/menu', (req, res) => {
let query = ` let query = `
SELECT SELECT
sports.Name AS SportsType, sports.Name AS SportsType,
arena.Stadium AS FieldName, arena.Arena_Name,
times.StartTime AS StartTime, stadium.Name AS Stadium,
times.EndTime AS EndTime, times.StartTime,
times.EndTime,
games.Date AS GameDate, games.Date AS GameDate,
games.Code AS GameCode, games.Game_Code AS GameCode,
games.valid, games.valid,
COUNT(play_in.User_Code) AS ReservedSlots COUNT(play_in.User_Code) AS ReservedSlots
FROM FROM
games games
INNER JOIN INNER JOIN
arena ON games.Ground_Name = arena.Field_Name arena ON games.Arena_Name = arena.Arena_Name
INNER JOIN INNER JOIN
times ON games.Time_Code = times.Code stadium ON arena.Arena_Name = stadium.Arena_Name
INNER JOIN
times ON games.Time_Code = times.Time_Code
INNER JOIN INNER JOIN
sports ON arena.Sports_Type = sports.Name sports ON arena.Sports_Type = sports.Name
LEFT JOIN LEFT JOIN
play_in ON games.Code = play_in.Game_Code play_in ON games.Game_Code = play_in.Game_Code
WHERE games.Date >= CURDATE()`; WHERE games.Date >= CURDATE()`;
const params = []; const params = [];
...@@ -56,10 +59,10 @@ router.get('/menu', (req, res) => { ...@@ -56,10 +59,10 @@ router.get('/menu', (req, res) => {
if (stadium.includes(',')) { if (stadium.includes(',')) {
// stadium이 쉼표로 구분된 문자열인 경우 // stadium이 쉼표로 구분된 문자열인 경우
const selectedStadiums = stadium.split(','); const selectedStadiums = stadium.split(',');
query += ' AND arena.Field_Name IN (?)'; query += ' AND arena.Arena_Name IN (?)';
params.push(selectedStadiums); params.push(selectedStadiums);
} else { } else {
query += ' AND arena.Field_Name = ?'; query += ' AND arena.Arena_Name = ?';
params.push(stadium); params.push(stadium);
} }
} }
...@@ -79,7 +82,7 @@ router.get('/menu', (req, res) => { ...@@ -79,7 +82,7 @@ router.get('/menu', (req, res) => {
params.push(gameDate); params.push(gameDate);
} }
query += ' GROUP BY sports.Name, arena.Field_Name, games.Code, times.StartTime, times.EndTime, games.Date'; query += ' GROUP BY sports.Name, arena.Arena_Name, games.Game_Code, times.StartTime, times.EndTime, games.Date';
db.query(query, params, (error, results) => { db.query(query, params, (error, results) => {
if (error) { if (error) {
......
...@@ -65,7 +65,7 @@ app.post('/login', (req, res) => { ...@@ -65,7 +65,7 @@ app.post('/login', (req, res) => {
const password = req.body.password; const password = req.body.password;
console.log(password); console.log(password);
// MySQL 쿼리문 실행 // MySQL 쿼리문 실행
const query = `SELECT * FROM users WHERE code = ${code} AND password = '${password}'`; const query = `SELECT * FROM users WHERE User_code = ${code} AND password = '${password}'`;
db.query(query, (err, result) => { db.query(query, (err, result) => {
if (err) { if (err) {
......
...@@ -31,12 +31,12 @@ router.get('/reser', (req, res) => { ...@@ -31,12 +31,12 @@ router.get('/reser', (req, res) => {
const checkDuplicateQuery = ` const checkDuplicateQuery = `
SELECT COUNT(*) AS count SELECT COUNT(*) AS count
FROM play_in AS p1 FROM play_in AS p1
JOIN games AS g1 ON p1.Game_Code = g1.Code JOIN games ON p1.Game_Code = games.Game_Code
JOIN times AS t1 ON g1.Time_Code = t1.Code JOIN times ON games.Time_Code = times.Time_Code
WHERE p1.User_Code = ${userCode} WHERE p1.User_Code = ${userCode}
AND g1.Date = (SELECT Date FROM games WHERE Code = ${gameCode}) AND games.Date = (SELECT Date FROM games WHERE Game_Code = ${gameCode})
AND t1.StartTime = (SELECT StartTime FROM times WHERE Code = (SELECT Time_Code FROM games WHERE Code = ${gameCode})) AND times.StartTime = (SELECT StartTime FROM times WHERE Time_Code = (SELECT Time_Code FROM games WHERE Game_Code = ${gameCode}))
AND t1.EndTime = (SELECT EndTime FROM times WHERE Code = (SELECT Time_Code FROM games WHERE Code = ${gameCode})) AND times.EndTime = (SELECT EndTime FROM times WHERE TIme_Code = (SELECT Time_Code FROM games WHERE Game_Code = ${gameCode}))
`; `;
db.query(checkDuplicateQuery, (duplicateErr, duplicateResult) => { db.query(checkDuplicateQuery, (duplicateErr, duplicateResult) => {
...@@ -49,11 +49,11 @@ router.get('/reser', (req, res) => { ...@@ -49,11 +49,11 @@ router.get('/reser', (req, res) => {
const isDuplicate = duplicateResult[0].count > 0; const isDuplicate = duplicateResult[0].count > 0;
if (!isDuplicate) { if (!isDuplicate) {
const MaxCheck = `SELECT MAX FROM sports, games, arena WHERE sports_type=Name and field_name=Ground_name and code=${gameCode}`; const MaxCheck = `SELECT MAX FROM sports, games, arena WHERE sports_type=Name and arena.Arena_name=games.Arena_name and games.Game_code=${gameCode}`;
const CurrentPlayer = `SELECT count(*) as CurrentPlayer FROM Play_in WHERE game_code=${gameCode}`; const CurrentPlayer = `SELECT count(*) as CurrentPlayer FROM Play_in WHERE game_code=${gameCode}`;
db.query(MaxCheck, (MAXErr, MaxResult) => { db.query(MaxCheck, (MAXErr, MaxResult) => {
console.log('MAX: ', MaxResult[0].MAX); console.log('MAX: ', MaxResult[0].MAX); //56번째줄
const Max = MaxResult[0].MAX; const Max = MaxResult[0].MAX;
db.query(CurrentPlayer, (Nomoreplayer, NMPResult) => { db.query(CurrentPlayer, (Nomoreplayer, NMPResult) => {
console.log('CurrentPlayer: ', NMPResult[0].CurrentPlayer); console.log('CurrentPlayer: ', NMPResult[0].CurrentPlayer);
...@@ -79,7 +79,8 @@ router.get('/reser', (req, res) => { ...@@ -79,7 +79,8 @@ router.get('/reser', (req, res) => {
const query = ` const query = `
SELECT SELECT
arena.Stadium AS ArenaName, arena.Arena_Name,
stadium.Name AS Stadium,
sports.Name AS SportsType, sports.Name AS SportsType,
times.StartTime, times.StartTime,
times.EndTime, times.EndTime,
...@@ -88,16 +89,17 @@ router.get('/reser', (req, res) => { ...@@ -88,16 +89,17 @@ router.get('/reser', (req, res) => {
sports.Max AS MaxPlayers, sports.Max AS MaxPlayers,
manager.Name AS ManagerName, manager.Name AS ManagerName,
GROUP_CONCAT(users.Name) AS PlayerName, GROUP_CONCAT(users.Name) AS PlayerName,
GROUP_CONCAT(CASE WHEN users.Code = '${userCode}' THEN users.Name ELSE NULL END) AS ReservationName GROUP_CONCAT(CASE WHEN users.User_Code = '${userCode}' THEN users.Name ELSE NULL END) AS ReservationName
FROM play_in FROM play_in
JOIN games ON play_in.Game_Code = games.Code JOIN games ON play_in.Game_Code = games.Game_Code
JOIN arena ON games.Ground_Name = arena.Field_Name JOIN arena ON games.Arena_Name = arena.Arena_Name
JOIN stadium ON arena.Arena_Name = stadium.Arena_Name
JOIN sports ON arena.Sports_Type = sports.Name JOIN sports ON arena.Sports_Type = sports.Name
JOIN times ON games.Time_Code = times.Code JOIN times ON games.Time_Code = times.Time_Code
JOIN users ON play_in.User_Code = users.Code JOIN users ON play_in.User_Code = users.User_Code
JOIN users AS manager ON arena.Mgr_Code = manager.Code JOIN users AS manager ON arena.Mgr_Code = manager.User_Code
WHERE play_in.Game_Code = ${gameCode} WHERE play_in.Game_Code = ${gameCode}
GROUP BY arena.Field_Name, sports.Name, times.StartTime, times.EndTime, arena.Cost, sports.Min, sports.Max, manager.Name; GROUP BY arena.Arena_Name, sports.Name, times.StartTime, times.EndTime, arena.Cost, sports.Min, sports.Max, manager.Name;
`; `;
executeQuery(query, res); executeQuery(query, res);
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
<%= game.SportsType %> <%= game.SportsType %>
</td> </td>
<td> <td>
<%= game.FieldName %> <%= game.Stadium %>
</td> </td>
<td> <td>
<%= game.StartTime %> <%= game.StartTime %>
...@@ -166,7 +166,7 @@ ...@@ -166,7 +166,7 @@
tableRows.forEach(row => { tableRows.forEach(row => {
const rowData = { const rowData = {
SportsType: row.cells[0].textContent, SportsType: row.cells[0].textContent,
FieldName: row.cells[1].textContent, Stadium: row.cells[1].textContent,
StartTime: row.cells[2].textContent, StartTime: row.cells[2].textContent,
EndTime: row.cells[3].textContent, EndTime: row.cells[3].textContent,
GameDate: row.cells[4].textContent, GameDate: row.cells[4].textContent,
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
const row = tableBody.insertRow(); // 새로운 행 삽입 const row = tableBody.insertRow(); // 새로운 행 삽입
// 각 셀에 데이터 추가 // 각 셀에 데이터 추가
row.insertCell().appendChild(document.createTextNode(game.SportsType)); row.insertCell().appendChild(document.createTextNode(game.SportsType));
row.insertCell().appendChild(document.createTextNode(game.FieldName)); row.insertCell().appendChild(document.createTextNode(game.Stadium));
row.insertCell().appendChild(document.createTextNode(game.StartTime)); row.insertCell().appendChild(document.createTextNode(game.StartTime));
row.insertCell().appendChild(document.createTextNode(game.EndTime)); row.insertCell().appendChild(document.createTextNode(game.EndTime));
row.insertCell().appendChild(document.createTextNode(game.GameDate)); row.insertCell().appendChild(document.createTextNode(game.GameDate));
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<h3>예약정보 확인</h3> <h3>예약정보 확인</h3>
<div class="divider"></div> <div class="divider"></div>
<p>예약자 이름: <span><%= data.ReservationName %></span></p><hr> <p>예약자 이름: <span><%= data.ReservationName %></span></p><hr>
<p>경기장 이름: <span><%= data.ArenaName %></span></p><hr> <p>경기장 이름: <span><%= data.Stadium %></span></p><hr>
<p>스포츠 종목: <span><%= data.SportsType %></span></p><hr> <p>스포츠 종목: <span><%= data.SportsType %></span></p><hr>
<P>경기 시작 시간: <span><%= data.StartTime %></span></P><hr> <P>경기 시작 시간: <span><%= data.StartTime %></span></P><hr>
<p>경기 종료 시간: <span><%= data.EndTime %></span></p><hr> <p>경기 종료 시간: <span><%= data.EndTime %></span></p><hr>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment