【解決方法】sqlserver のビューからすべてのデータを取得できません

[ad_1]

テーブル orderSales、typeCustomer、Customer を作成します
ビューを作成します
選択する [id]

、[OrderDate]

、[Total]

、[Pay]

、[Remain]

、[Sales]

、[ValueAdd]

、[CustomerType]

、[Name]

から [dbo].[vOrdersAll]

行く
ただし、ビューは3行のみを取得し、テーブルOrderSalesには3行以上あります

私が試したこと:

ビューを作成します
選択する [id]

、[OrderDate]

、[Total]

、[Pay]

、[Remain]

、[Sales]

、[ValueAdd]

、[CustomerType]

、[Name]

から [dbo].[vOrdersAll]

クエリを表示
SELECT dbo.tbOrderSales.id、dbo.tbOrderSales.OrderDate、dbo.tbOrderSales.Total、dbo.tbOrderSales.Pay、dbo.tbOrderSales.Remain、dbo.tbOrderSales.Sales、dbo.tbOrderSales.ValueAdd、dbo.tblCustomerType.CustomerType、
dbo.tbCustomers.Name
FROM dbo.tbCustomers INNER JOIN
dbo.tblCustomerType ON dbo.tbCustomers.id = dbo.tblCustomerType.id INNER JOIN
dbo.tbOrderSales ON dbo.tbCustomers.Phone = dbo.tbOrderSales.Customers AND dbo.tblCustomerType.id = dbo.tbOrderSales.typeCustomer

解決策 1

ビュー クエリは 2 つの INNER JOIN を使用します。これは、両方のテーブルでデータが一致する行のみを返します。 そのため、ON 条件の一部が両方のテーブルで一致していないため、JOIN によってデータが減少している可能性が最も高いと言えます。 いくつかの行について。

他のテーブルを手動で見て、どのデータがあり、どのデータが返されると予想されるかを正確に確認してください。

[ad_2]

コメント

タイトルとURLをコピーしました