Повторите проблемы с данными SQL - PullRequest
0 голосов
/ 22 ноября 2018

У меня был быстрый просмотр, чтобы увидеть, есть ли какие-либо предыдущие вопросы, относящиеся к моей проблеме, и не могу их найти.

В основном я делаю эту базу данных для моего онлайн-курса Cert IV, и если я не был полностьюзастрял (как и в последние несколько месяцев), я бы не стал просить о серьезной помощи в этом

У меня есть база данных антиквариата, в которой должны отображаться имя клиента, дата продажи, название продуктаи Продажная цена и перечислять только те товары, которые были проданы между 2 датами, и упорядочивать их к указанным датам.Ничего из того, что я делаю, не приводит к повторным данным

У меня есть 4 таблицы для этого конкретного запроса Клиенты, Продажи и Продукты, Таблицы настроены так:

CREATE TABLE [dbo].[Customers](
[CustID] [int] IDENTITY(1,1) NOT NULL,
[firstName] [varchar](50) NOT NULL,
[lastName] [varchar](50) NOT NULL,
CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED

CREATE TABLE [dbo].[Sales](
[SalesNo] [int] IDENTITY(1,1) NOT NULL,
[CustID] [int] NOT NULL,
[salesDate] [date] NOT NULL,
CONSTRAINT [PK_Sales] PRIMARY KEY CLUSTERED

CREATE TABLE [dbo].[Products](
[ProductID] [int] IDENTITY(1,1) NOT NULL,
[prodName] [varchar](50) NOT NULL,
[prodYear] [int] NOT NULL,
[prodType] [varchar](50) NOT NULL,
[salesPrice] [money] NOT NULL,
CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED

CREATE TABLE [dbo].[ProductSales](
[ProductID] [int] NOT NULL,
[SalesNo] [int] NOT NULL

Мой запрос выглядитвот так

SELECT (Customers.firstName + ' ' + Customers.lastName) AS Customers_Name,
    Sales.salesDate, Products.prodName, Sales.salesPrice
FROM Customers, ProductSales JOIN Products ON ProductSales.ProductID = Products.ProductID
                             JOIN Sales ON ProductSales.SalesNo = Sales.SalesNo
WHERE Sales.salesDate BETWEEN '2016-06-03' AND '2016-06-06'
ORDER BY Sales.salesDate

Вот что появляется, когда я запускаю этот запрос:

Queried Data

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 22 ноября 2018

Попробуйте ниже - вам нужно правильно присоединиться к таблице клиентов

SELECT (Customers.firstName + ' ' + Customers.lastName) AS Customers_Name,
    Sales.salesDate, Products.prodName, Sales.salesPrice
FROM ProductSales JOIN Products ON ProductSales.ProductID = Products.ProductID
                             JOIN Sales ON ProductSales.SalesNo = Sales.SalesNo
JOIN Customers on  Sales.[CustID]=Customers.[CustID]
WHERE Sales.salesDate BETWEEN '2016-06-03' AND '2016-06-06'
ORDER BY Sales.salesDate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...