Я новичком в SQL, и мне нужно, чтобы создать базу данных для продуктового магазина (не реально, просто назначений конечно)Сравнение строк между 2 таблицами
У меня есть два поля из разных таблиц - прилагаются цена - цена, которую магазин покупает у поставщика и цена, которая предоставляется клиентам
Как я могу сделать ограничение, гарантирующее, что поставленная цена ниже, чем цена, предоставляемая клиентам?
Соответствующие таблицы, которые у меня есть следующие:
CREATE TABLE Supplied_Products(
[Supplier ID] Int NOT NULL Foreign Key References Suppliers,
[Product ID] Int NOT NULL Foreign Key References Products,
Price Float NOT NULL,
CHECK (Price>0),
Constraint PK_Supplied_Products PRIMARY KEY([Supplier ID] ,[Product ID])
)
CREATE TABLE Products(
[Product-ID] Int NOT NULL PRIMARY KEY,
[Product Name] Varchar(20) NOT NULL,
Price Float NOT NULL,
[Category-Name] Varchar(20) NOT NULL Foreign Key References Categories,
[Weight] Float NOT NULL,
[Is Refrigirated] Varchar(1) DEFAULT 'N'
CHECK ([Is Refrigirated] in('Y','N')),/* Is Refrigirated can be only Y-yes or N-no*/
CHECK (Price >0)
)
При задании домашних заданий это считается хорошей формой, чтобы показать, что вы сделали до сих пор, и объяснить, где вы застряли. Два бита общего руководства: ответ будет несколько зависеть от продукта базы данных, который вы используете, и вы должны исследовать ограничения CHECK и, возможно, триггеры. –