내 데이터베이스로 액세스를 사용하고 있으며 정확한 데이터를 선택하기 위해 쿼리를 실행하는 데 문제가 있습니다. WHERE 절에서이 특정 값에 대해 실제로 쿼리가 모든 레코드를 반환하는 것처럼 보일 때, 이는 단지 1을 반환해야합니다.두 개 이상의 테이블에서 데이터 선택
아이디어는 '요청 상자'테이블을 기반으로 '요청 상자'테이블을 사용하는 것입니다. 값을 WHERE 절에 입력하고이 값을 사용하여 'Boxes'테이블에서 데이터를 가져옵니다. 누군가가 내 초보자 오류를 지적 할 수 있으면 고맙겠습니다. 나는이 db를 상속 받았으며 그것을 변경하는 옵션이 없다고 덧붙이고 싶습니다. 많은 감사합니다
My db 설정은 다음과 같습니다.
요청 박스
요청없이
박스
박스
박스
CustRef
sql = "SELECT [Request Boxes].[Request no], [Request Boxes].Box, Boxes.Box, Boxes.CustRef " &
"FROM [Request Boxes], Boxes WHERE [Request Boxes].[Request no] = '" & item & "'"
업데이트 된 코드 :
sql = "SELECT [Request Boxes].[Request no], [Request Boxes].Box, Boxes.Box, Boxes.CustRef " &
"FROM [Request Boxes] INNER JOIN Boxes ON [Request Boxes].Box = Boxes.Box " &
"WHERE ((([Request Boxes].[Request no]) = '" & item & "')" &
"AND ([Request Boxes].[Customer] = '" & customer2 & "') AND (Boxes.Status = '" & status & "'))"
브라이언, 단지 1 문제. 업데이트 된 코드에서이 줄 (Boxes.Status = ' "& status &"') 때문에 쿼리가 실패했습니다. 줄을 제거하면 잘 표시됩니다. 디버깅을했고 올바른 값이 전달된다는 것을 알고 있습니다. 나는 어디로 잘못 갔습니까? 감사합니다 – user1532468
하나의 작은 조언, vb.net 또는 C#에서 SQL 쿼리를 사용하여 좋지 않습니다. 이러한 쿼리를 SQL Server의 저장 프로 시저에 작성하고 코드에서 호출하는 것이 항상 좋습니다. – Hoh
@ user1532468 님, 상태가 번호입니까? 그렇다면 작은 따옴표가 필요하지 않습니다. –