Я использую доступ как мой db, и у меня возникают проблемы с попыткой получить мой запрос, чтобы выбрать правильные данные. В настоящий момент мой запрос, как представляется, возвращает все записи в таблицах, когда действительно для этого конкретного значения в предложении WHERE, он должен возвращаться только 1.выберите данные из более чем 1 таблицы
Идея состоит в том, чтобы использовать таблицу «Запросы в ящиках» на основе значение в предложении WHERE и использовать это значение для извлечения данных из таблицы «Коробки». Я был бы признателен, если бы кто-нибудь мог указать на ошибку моего новичка. Я хотел бы добавить, что я унаследовал этот db и не имею возможности изменить его. Большое спасибо
My db setup выглядит следующим образом.
просит Коробки
Запрос нет
Box
Коробки
Box
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
Один маленький совет, используя Sql Queries в vb.net или C#, не так уж хорош. Всегда лучше записывать эти запросы в хранимые процедуры SQL Server и вызывать их из вашего кода. – Hoh
@ user1532468, является ли ваш статус номером? Если это так, вам не нужны одиночные кавычки. –