Я хочу, чтобы проверить, существует данные в другой таблице ..SQL запрос IF EXISTS
Моей структура таблицы
CREATE TABLE [dbo].[IndicatorData]
(
[id] [bigint] IDENTITY(1,1) NOT NULL,
[value] [float] NOT NULL,
[indicatorId] [int] NOT NULL,
[source] [nvarchar](500) NOT NULL,
[uploaded] [bit] NOT NULL,
[createdBy] [nvarchar](500) NULL,
[createdOn] [datetime] NULL,
[lastModifiedBy] [nvarchar](500) NULL,
[lastModifiedOn] [datetime] NULL
)
Таблица 2
CREATE TABLE [dbo].[DataFields]
(
[dataId] [bigint] NOT NULL,
[fieldId] [int] NOT NULL
)
IndicatorData.id
имеет отношение с DataFields.dataid
(IndicatorData.id
может имеют множественную комбинацию поля данных)
Таблица IndicatorData выборки данных:
Таблица поля данных выборки данных:
Query Я попытался:
Примечание: Я не буду проходить dataid, я буду пройти только поле id & указатель поворота
Сценарий № 1
SELECT *
FROM IndicatorData a
INNER JOIN DataFields b ON a.id = b.dataid
WHERE a.indicatorid = 72
AND b.fieldid IN (59, 207)
Когда я прохожу поле идентификатора, мне нужно, чтобы получить комбинацию значений с dataid.
Вывод должен вернуться, как это:
Просьба предложить, как я могу achive этот
Ваш запрос выглядит хорошо для меня - то, что не работает? – cco
вы можете увидеть Scaneiro # 1 и сравнить выход. Вы можете найти разницу –
Не совсем понятно, что вы хотите, вы имеете в виду, что вам нужен только вывод идентификатора с одинаковым значением и с несколькими записями? то есть в выводе сценария 1 запись с id = 69137 НЕ является тем, что вы хотите в outuput? – jyao