Chào mọi người,
Như tiêu đề Topic của mình, mình đang gặp khó khi ghép nhiều bảng và lấy dữ liệu bằng SQL.
Mình có 3 bảng như sau:
Table 1:
CREATE TABLE [dbo].[TBL_CASE_LABEL](
[LABEL_ID] [varchar](15) NOT NULL,
[QUANTITY] [float] NULL,
[GROUP_ID] [int] NULL,
[TS_1] [datetime] NULL
Table 2: Table master có GROUP_ID là quan hệ 1-n với GROUP_ID 2 bảng còn lại
CREATE TABLE [dbo].[TBL_GROUP_MST](
[GROUP_ID] [int] IDENTITY(1,1) NOT NULL,
[GROUP_NAME] [nvarchar](20) NOT NULL
Table 3:
CREATE TABLE [dbo].[TBL_WLOT_LOC](
[ID] [int] IDENTITY(1,1) NOT NULL,
[GROUP_ID] [int] NULL,
[ISSUE_DATE] [date] NULL,
[QUANTITY] [float] NULL
Dưới đây là lệnh SQL của mình:
SELECT *
FROM ((TBL_CASE_LABEL AS a
JOIN TBL_GROUP_MST AS b
ON b.GROUP_ID = '61'
AND a.GROUP_ID=b.GROUP_ID
AND DATEPART(WK, a.TS_1) = DATEPART(WK, a.TS_1)
AND YEAR(a.TS_1) = YEAR(a.TS_1)
AND CONVERT(DATE,a.TS_1) BETWEEN CONVERT(DATE,'2020-01-10') AND CONVERT(DATE,'2020-01-10'))
JOIN TBL_WLOT_LOC AS c
ON c.GROUP_ID = b.GROUP_ID
AND DATEPART(WK, c.ISSUE_DATE) = DATEPART(WK, c.ISSUE_DATE)
AND YEAR(c.ISSUE_DATE) = YEAR(c.ISSUE_DATE)
AND CONVERT(DATE,c.ISSUE_DATE) BETWEEN CONVERT(DATE,'2020-01-10') AND CONVERT(DATE,'2020-01-10'))
Mình muốn nạp dữ liệu là GROUP_ID cho bảng TBL_GROUP_MST và cùng một ngày giờ (Date) cho TS_1 của Table 1 và ISSUE_DATE của Table_2. Câu lệnh ghép 3 bảng của mình sai ở đâu vậy ạ. Mong mọi người giúp, thanks!