1) ๋ฌธ์ ์ค๋ช
- ๋ค์์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_BOARD ํ ์ด๋ธ๊ณผ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ฒจ๋ถํ์ผ ์ ๋ณด๋ฅผ ๋ด์ USED_GOODS_FILE ํ ์ด๋ธ์ ๋๋ค.
- USED_GOODS_BOARD ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS์ ๊ฒ์๊ธ ID, ์์ฑ์ ID, ๊ฒ์๊ธ ์ ๋ชฉ, ๊ฒ์๊ธ ๋ด์ฉ, ๊ฐ๊ฒฉ, ์์ฑ์ผ, ๊ฑฐ๋์ํ, ์กฐํ์๋ฅผ ์๋ฏธํฉ๋๋ค.
Column name | Type | Nullable |
BOARD_ID | VARCHAR(5) | FALSE |
WRITER_ID | VARCHAR(50) | FALSE |
TITLE | VARCHAR(100) | FALSE |
CONTENTS | VARCHAR(1000) | FALSE |
PRICE | NUMBER | FALSE |
CREATED_DATE | DATE | FALSE |
STATUS | VARCHAR(10) | FALSE |
VIEWS | NUMBER | FALSE |
- USED_GOODS_FILE ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ FILE_ID, FILE_EXT, FILE_NAME, BOARD_ID๋ ๊ฐ๊ฐ ํ์ผ ID, ํ์ผ ํ์ฅ์, ํ์ผ ์ด๋ฆ, ๊ฒ์๊ธ ID๋ฅผ ์๋ฏธํฉ๋๋ค.
Column name | Type | Nullable |
FILE_ID | VARCHAR(10) | FALSE |
FILE_EXT | VARCHAR(5) | FALSE |
FILE_NAME | VARCHAR(256) | FALSE |
BOARD_ID | VARCHAR(10) | FALSE |
2) ๋ฌธ์
- USED_GOODS_BOARD์ USED_GOODS_FILE ํ ์ด๋ธ์์ ์กฐํ์๊ฐ ๊ฐ์ฅ ๋์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์๋ฌผ์ ๋ํ ์ฒจ๋ถํ์ผ ๊ฒฝ๋ก๋ฅผ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
- ์ฒจ๋ถํ์ผ ๊ฒฝ๋ก๋ FILE ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
- ๊ธฐ๋ณธ์ ์ธ ํ์ผ๊ฒฝ๋ก๋ /home/grep/src/ ์ด๋ฉฐ, ๊ฒ์๊ธ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋ ํ ๋ฆฌ๊ฐ ๊ตฌ๋ถ๋๊ณ , ํ์ผ์ด๋ฆ์ ํ์ผ ID, ํ์ผ ์ด๋ฆ, ํ์ผ ํ์ฅ์๋ก ๊ตฌ์ฑ๋๋๋ก ์ถ๋ ฅํด์ฃผ์ธ์.
- ์กฐํ์๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์๋ฌผ์ ํ๋๋ง ์กด์ฌํฉ๋๋ค.
3) ์์
- USED_GOODS_BOARD ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๊ณ
BOARD_ID | WRITER_ID | TITLE | CONTENTS | PRICE | CREATED_DATE | STATUS | VIEWS |
B0001 | kwag98 | ๋ฐ๋ ค๊ฒฌ ๋ฐฐ๋ณํจ๋ ํ๋๋ค | ์ ๋ง ์ ๋ ดํ ํ๋งคํฉ๋๋ค. ์ ๋ถ ๋ฏธ๊ฐ๋ด ์์ํ์ ๋๋ค. | 12000 | 2022-10-01 | DONE | 250 |
B0002 | lee871201 | ๊ตญ๋ด์ฐ ๋ณถ์์ฐธ๊นจ | ์ง์ ๋์ฌ์ง์ ์ฐธ๊นจ์ ๋๋ค. | 3000 | 2022-10-02 | DONE | 121 |
B0003 | goung12 | ๋ฐฐ๋๋ฏผํด ๋ผ์ผ | ์ฌ๋๊ณ ๋ฐฉ์น๋ง ํด์ ํ๋๋ค. | 9000 | 2022-10-02 | SALE | 212 |
B0004 | keel1990 | ๋์ฌ ๊ท๊ฑธ์ด | ์ ์ธ๊ณ๊ฐ๋จ์ ์์ ๊ตฌ์ . ์ ํ ์๋์ ๋ฐฑํผ์ผํธ ํ๋ถ | 130000 | 2022-10-02 | SALE | 199 |
B0005 | haphli01 | ์คํธํด๋์ ํ์์ | ์ ํต๊ธฐํ 2025๋ ๊น์ง์์ | 10000 | 2022-10-02 | SALE | 121 |
- USED_GOODS_FILE ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ์ ๋
FILE_ID | FILE_EXT | FILE_NAME | BOARD_ID |
IMG_000001 | .jpg | photo1 | B0001 |
IMG_000002 | .jpg | photo2 | B0001 |
IMG_000003 | .png | ์ฌ์ง | B0002 |
IMG_000004 | .jpg | ์ฌ์ง | B0003 |
IMG_000005 | .jpg | photo | B0004 |
- SQL์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋์ด์ผ ํฉ๋๋ค.
FILE_PATH |
/home/grep/src/B0001/IMG_000001photo1.jpg |
/home/grep/src/B0001/IMG_000002photo2.jpg |
4) ํ์ด
SELECT CONCAT("/home/grep/src/", BOARD_ID, "/", FILE_ID, FILE_NAME, FILE_EXT) AS "FILE_PATH"
FROM USED_GOODS_FILE
WHERE BOARD_ID = (SELECT BOARD_ID
FROM USED_GOODS_BOARD
ORDER BY VIEWS DESC
LIMIT 1)
ORDER BY FILE_ID DESC;
[Reference]
๋ฐ์ํ