у меня есть две таблицы, я хотел бы объединить и установить несколько условий, чтобы вытащить нужные данные: Таблица 1:.. [Folder1] [Имя] [Info]Объединение таблиц с несколькими условиями
|---------------------|------------------|------------------|
| NameID | Gender | DoB |
|---------------------|------------------|------------------|
| 1 | M | 19800909 |
|---------------------|------------------|------------------|
| 2 | M | 19620102 |
|---------------------|------------------|------------------|
| 3 | F | 19501012 |
|---------------------|------------------|------------------|
| 4 | F | 19900212 |
|---------------------|------------------|------------------|
| 5 | M | 19501010 |
|---------------------|------------------|------------------|
А Таблица 2:.. [Folder1] [Body] [Вход]
|----------------|------------|------------|------------|
| NameID | BODYID | Category | Result |
|----------------|------------|------------|------------|
| 1 | 80000001 | Height | 178 |
|----------------|------------|------------|------------|
| 1 | 80000002 | Waist | 32 |
|----------------|------------|------------|------------|
| 1 | 80000003 | weight | 78 |
|----------------|------------|------------|------------|
| 1 | 80000003 | weight | 85 |
|----------------|------------|------------|------------|
| 2 | 80000001 | height | 170 |
|----------------|------------|------------|------------|
| 2 | 80000002 | waist | 30 |
|----------------|------------|------------|------------|
| 2 | 80000003 | weight | 78 |
|----------------|------------|------------|------------|
| 2 | 80000003 | weight | 80 |
|----------------|------------|------------|------------|
| 2 | 80000003 | weight | 76 |
|----------------|------------|------------|------------|
| 3 | 80000001 | height | 168 |
|----------------|------------|------------|------------|
| 4 | 80000001 | height | 170 |
|----------------|------------|------------|------------|
| 5 | 80000001 | height | 171 |
|----------------|------------|------------|------------|
Я хочу, чтобы объединить 2 таблицы вместе с заданными условиями, так что комбинированный график будет иметь Top 50 NameID, Пол, DoB, BodyID, Категория, Результат людей с DoB до 19900101, показывая только данные о высоте и весе и показывая только персонажа с 3 или более весовыми данными.
текущий код SQL я прямо сейчас:
SELECT TOP 50 [Info].[NameID]
,[Gender]
,[DoB]
,[BodyID]
,[Category]
,[Result]
FROM [Folder1].[Name].[Info] LEFT JOIN [Folder1].[Body].[Sign]
ON [Info].[NameID] = [Sign].[NameID]
WHERE ([DoB] < '19900101')
AND ([Category] = 'Weight' OR [Category] = 'Height')
AND [Category] IN (SELECT Count(case when [BODYID] = 80000003 then 1 else null end) FROM [Folder1].[Body].[Sign] GROUP BY [Category] HAVING COUNT([BODYID]) >2)
ORDER BY [NameID]
Запрос может быть успешно выполнена, и таблица показывает вверх, но не появилось никакой информации. У меня такое ощущение, что что-то не так с этим разделом «счет», но не мог понять, что с ним не так.
То, что я надеюсь получить в результате что-то вроде:
|------------|------------|------------|------------|--------|--------|
| NameID | Gender | DoB | BODYID |Category|Result |
|------------|------------|------------|------------|--------|--------|
| 2 | M | 19620102 | 80000001 |Height | 170 |
|------------|------------|------------|------------|--------|--------|
| 2 | M | 19620102 | 80000003 |Weight | 78 |
|------------|------------|------------|------------|--------|--------|
| 2 | M | 19620102 | 80000003 |Weight | 80 |
|------------|------------|------------|------------|--------|--------|
| 2 | M | 19620102 | 80000003 |Weight | 76 |
|------------|------------|------------|------------|--------|--------|
Спасибо заранее.
Первый запрос не работает, запрос также возвращает данные людей, имеющих менее 3 весовых позиций. Второй запрос показывает таблицу, но в ней нет данных/информации. – Kaiser
Извините за двусмысленность; Я добавил таблицу того, как я надеялся, что запрос может вернуться как. Я опробовал оба запроса, которые вы указали, но ни один из них не достиг результата. – Kaiser