#sql #database
#sql #База данных
Вопрос:
SELECT ID, (SELECT TOP 1 CONTENT WHERE ID=ID(in the table A) FROM B) AS Content
FROM A
Я хочу запросить некоторые данные из базы таблиц по идентификатору в каждом из A и одновременно запросить некоторые другие данные по идентификатору, а затем перенести их в качестве нового столбца.
Кто-нибудь знает, как это сделать?
Комментарии:
1. Образец данных o обеспечивает точное решение….
2. Эмм … разве это не просто объединение?
3. Если вы хотите объединить содержимое из двух таблиц, просто выполните
JOIN
. В противном случае определите, чтоsome data
означает4. @Liath зависит от того, сколько строк в A и B
Ответ №1:
Похоже, вам нужен коррелированный запрос, который может выглядеть так (пример для SQL Server, основанный на вашем использовании TOP n):
SELECT A.ID,
(SELECT TOP 1
CONTENT
FROM B
WHERE B.ID = A.ID
) AS Content
FROM A
Ответ №2:
SELECT a.*, b.* FROM a INNER JOIN b ON(a.ID=b.ID)
Существует также ЛЕВОЕ и ПРАВОЕ СОЕДИНЕНИЕ и ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ.
Комментарии:
1. В
TOP 1
запросе Алена было предложение, так что это не эквивалентно