Я должен запрос в таблицу Customer и внести покупателя, если его нет, потом сделать новый запрос и получить id этого клиента, потом точно также сделать два запроса с таблицей Product и после пятый запрос с созданием новой записи в таблицу Cart с имеющимися id?Да. Всё это можно делать в хранимой процедуре куда передавать Customer_name и Product_name.
SELECT product_id FROM
(
SELECT product_id FROM T WHERE av_id = 3
UNION ALL
SELECT product_id FROM T WHERE av_id = 11
UNION ALL
SELECT product_id FROM T WHERE av_id = 15
) AS F
GROUP BY product_id
HAVING COUNT(*) = 3
SELECT product_id FROM
(
SELECT product_id FROM T WHERE av_id = 3
UNION ALL
SELECT product_id FROM T WHERE av_id = 2
) AS F
GROUP BY product_id
HAVING COUNT(*) = 2
SELECT dish_name FROM dish
JOIN dish_ingredients …
JOIN ingredients …
GROUP BY dish_name
HAVING ( LISTAGG( UPPER( ingredient_description ), ',' )
WITHIN GROUP ( ORDER BY ingredient_description )) = 'МУКА,САХАР,ЯЙЦО'
у вас список слов должен быть обязательно в алфавитном порядке
SELECT UPPER( LISTAGG( Name, ',' )) FROM
( SELECT 'мука' AS Name FROM dual
UNION
SELECT 'яйцо' FROM dual
UNION
SELECT 'сахар' FROM dual
ORDER BY 1 )
Ambiguous column name 'value'.
…
CASE WHEN t.label = 'AUTO' THEN t.value END
…
В целях повышения безопасности сообщение об ошибке, возвращаемое клиенту, намеренно скрывает природу ошибки проверки подлинности. Однако в журнале ошибок SQL Server для соответствующей ошибки указано состояние, которое можно сопоставить с условиями сбоя проверки подлинности. Сравните состояние ошибки со следующим списком, чтобы определить причину ошибки входа.Ссылка в предыдущем вопросе.
CREATE TABLE Point ( P CHAR(2), X INT, Y INT);
INSERT Point VALUES ( 'A1', 3, 4 ), ( 'A2', 8, 7 );
SELECT CONCAT( PA1.P, PA2.P ), PA2.X - PA1.X, PA2.Y - PA1.Y
FROM Point AS PA1, Point AS PA2
WHERE PA1.P = 'A1' AND PA2.P = 'A2'
Как это организовать в одном SQL запросе?Никак без указания СУБД.
CREATE PROCEDURE AddOrganization
@NameOrg NVARCHAR(50),
@StatusId INT,
@Email NVARCHAR(50) = NULL,
@PhonesNumbers nvarchar(12) = NULL,
@IdOrganizations INT = NULL OUTPUT
AS
INSERT INTO Organizations ( [Name], StatusId ) VALUES ( @NameOrg, @StatusId )
SELECT @IdOrganizations = MAX( ID ) FROM Organizations -- Это вместо TOP(1)
SET @IdOrganizations = IDENT_CURRENT ('Organizations') -- Это если Organizations.ID у вас IDENTITY