Это может быть простая проблема, чтобы исправить это извините.2 Внутренние соединения SQL Server в операторе Select
У меня есть оператор SQL select, и у меня есть 2 столбца, оба являются внешними ключами в одной таблице. Вот пример:
ProductID = 5 | Продавец (UserID) = 3 | Покупатель (UserID) = 2
Я хочу выбрать заявление для возврата
продукта = 5 | Продавец (UserID) = Гэри Джонс | Покупатель (UserID) = John Smith
Select Product.ID
User.ID as Seller
User.ID as Buyer
From Orders
Inner Join Product on Product.ID = Orders.ProductID
Inner Join User on User.ID = Orders.UserID --(For both buyer and seller)
Вполне возможно, что покупатели не является пользователем, так должно быть оставлено пустое значение, если нет пользователя:
Продукт = 5 | Продавец (UserID) = Гэри Джонс | Покупатель (UserID) = Null
Изменить второй 'Inner Join' на' Left Join' – Siyual
2 изменения ... left присоединиться к таблицам, чтобы возвращать нули (внутренняя будет отбрасывать запись), и вам понадобятся два пользователя: два пользователя, один для покупателя и один для продавца (если только они не являются одним и тем же лицом?). есть ли идентификатор покупателя отдельно от идентификатора продавца в таблице заказов? – Twelfth
@Twelfth - это отдельные поля в той же таблице, которые оба связаны с одним и тем же поле в таблице пользователей. Как мне сделать 2 соединения? – Chris