Этот запрос возвращает более одной строки:подзапрос возвращает более чем на 1 строку SQL
SELECT T.Title FROM Titles T WHERE T.ArtistID =
(SELECT A.ArtistID FROM Artists A WHERE A.Country = "USA");
это потому, что это ambigious?
Этот запрос возвращает более одной строки:подзапрос возвращает более чем на 1 строку SQL
SELECT T.Title FROM Titles T WHERE T.ArtistID =
(SELECT A.ArtistID FROM Artists A WHERE A.Country = "USA");
это потому, что это ambigious?
Нет, это потому, что в США более одного художника.
Что вам нужно? Все названия, написанные авторами в США? Или все названия для одного конкретного автора?
Если вы хотите, чтобы все названия, написанные авторами в США,
Select title from Titles
Where ArtistId In (Select ArtistID From artists
where Country = 'USA')
или
Select title from Titles t
join Artists a
On a.ArtistId = t.ArtistId
Where a.Country = 'USA'
Если вы хотите, чтобы названия для одного конкретного автора, необходимо указать, какой конкретный автор вас хотят названия для ...
Это означает, что у вас есть более одного художника с country = 'USA'
Вы можете это исправить, как это вернуть только любое название из любого художника из США
SELECT T.Title FROM Titles T WHERE T.ArtistID =
(SELECT TOP 1 A.ArtistID FROM Artists A WHERE A.Country = "USA");
, если вы хотите, чтобы все названия с художниками от использования США РЕГИСТРИРУЙТЕСЬ
SELECT T.Title FROM Titles T
JOIN Artists A ON T.ArtistID = A.ArtistID
WHERE A.Country = "USA"
или
SELECT T.Title FROM Titles T WHERE T.ArtistID in
(SELECT TOP 1 A.ArtistID FROM Artists A WHERE A.Country = "USA");
Ваш вопрос неоднозначен. Не видя данных, могу сказать, почему у вас две строки.
Сколько у ArtistIDs есть страна США? Запустите дополнительный запрос отдельно и посмотрите, сколько идентификаторов оно вернет и какие из них.
Тогда сколько раз эти идентификаторы ArtistID появляются в таблице Titles. Моя догадка больше чем одна.