ขอแนวทางการ JOIN Table 5 ตารางหน่อยครับ
ขอแนวทางการจอยตารางตามผังข้างบนหน่อยครับ
ผมต้องการคิวรี่ข้อมูลเฉพาะ BorelogPK = 1 ในตารางอีก 4 พอผมเขียนคิวรี่ออกมาไม่ได้ดึงเฉพาะ BorelogPK = 1
ในตารางพวก BorelogMainBar มันกลับดึงข้อมูลทั้งหมดมาแสดงแบบลูกจนครบทุกตารางทำให้คิวรี่ออกมาได้ข้อมูลไม่ถูกต้องครับ
SELECT ตารางที่ต้องการแสดง.ฟิลด์ที่ต้องการแสดง,ตารางที่ต้องการแสดง.ฟิลด์ที่ต้องการแสดง,ตารางที่ต้องการแสดง.ฟิลด์ที่ต้องการแสดง,
FROM borelog bl
LEFT JOINBorelogmainBar bmb ON bmb.borelogPK=bl.borelogPK
LEFT JOINBorelogLinks bll ON bll.borelogPK=bl.borelogPK
LEFT JOINBorelogStiffiners bln ON bln.borelogPK=bl.borelogPK
LEFT JOINBorelogSoilay bls ON bls.borelogPK=bl.borelogPK
LEFT JOINBorelogTruck blt ON blt.borelogPK=bl.borelogPK
WHERE เงื่อนไขที่Table.ฟิลด์="เงื่อนไข??" thanaphum ตอบกลับเมื่อ 2020-11-11 18:28
SELECT ตารางที่ต้องการแสดง.ฟิลด์ที่ต้องการแสดง,ตารางที ...
ผมลองทำแล้วครับข้อมูลที่ได้จะไม่ตรงครับมันลูบจนทั้งสี่ตารางที่จอยเข้ามา
ลองเปลี่ยนจาก LEFT JOIN เป็น INNER JOIN ดูครับ
ppcchan265 ตอบกลับเมื่อ 2020-11-12 11:56
ลองเปลี่ยนจาก LEFT JOIN เป็น INNER JOIN ดูครับ
ลองแล้วครับมาเหมือนเดิม FROM
(
(
(
( ( Borelog LEFT JOIN BorelogMainBar ON Borelog.BorelogPK = BorelogMainBar.BorelogPK ) LEFT JOIN BorelogLinks ON Borelog.BorelogPK= BorelogLinks.BorelogPK )
LEFT JOIN BorelogStiffiners ON Borelog.BorelogPK= BorelogStiffiners.BorelogPK
)
LEFT JOIN BorelogSoiLayer ON Borelog.BorelogPK= BorelogSoiLayer.BorelogPK
)
LEFT JOIN BorelogTruck ON Borelog.BorelogPK= BorelogTruck.BorelogPK
)
WHERE Borelog.BorelogPK =" & PK
Try
If Conn.State = ConnectionState.Closed Then Conn.Open()
Cmd.Connection = Conn
Cmd.CommandText = strSQL
DAP1 = New SqlDataAdapter(strSQL, Conn)
Dim DR As SqlDataReader = Cmd.ExecuteReader
Dim i As Long = 0
If DR.HasRows Then
While DR.Read
With dgvMainbars
.Rows.Add(i)
.Rows(i).Cells(0).Value = DR.Item("MainBarQty").ToString
.Rows(i).Cells(1).Value = DR.Item("MainBarType").ToString
.Rows(i).Cells(2).Value = DR.Item("MainBarDiameters").ToString
.Rows(i).Cells(3).Value = DR.Item("MainBarLenght").ToString
End With
i += 1
End While
มันมีปัญหาเฉพาะในส่วนของ เดด้ากริดอย่างเดียวครับ ผมดูตารางข้อมูลไม่ออกครับ ลอง Export ฐานข้อมูลส่งมาเป็น Access ได้หรือเปล่าครับ ... ก็คงพอจะแนะนำแบบทั่วๆไป คือกรณีที่มีข้อมูลซ้ำกัน ลองใช้คำสั่ง DISTINCT ในฟิลด์ที่ซ้ำกันดูครับ maisurin ตอบกลับเมื่อ 2020-11-12 12:29
มันมีปัญหาเฉพาะในส่วนของ เดด้ากริดอย่างเดียวครับ
เอา คำสั่ง SQL ไป query บน ฺDBMS ได้ค่าออกมาอย่างที่ต้องการไหมครับ thanaphum ตอบกลับเมื่อ 2020-11-13 09:44
เอา คำสั่ง SQL ไป query บน ฺDBMS ได้ค่าออกมาอย่างที่ต้องการไหมครับ
กรณีที่จอยแค่สองตารางจะได้ข้อมูลมาตรงครับ แต่จอยเริ่มตั้งแต่สามขึ้นไปมันจะวนลูบกันทจนครบจากคิวรี่ทำให้วนค่าเดิมๆเข้าไปเดด้ากริด ต้องดูโครงสร้างกับข้อมูลอีกทีครับถึงจะบอกได้ ครับ
หน้า:
[1]