0

У меня есть две таблицы:на основе подсчета тянуть изображений из другой таблицы

Ist стол для изображений значков:

ii

снова есть еще одна таблица, которая содержит рассчитывать для значков, выигранных конкретным сотрудником: enter imagerr description here

для конкретного сотрудника (с использованием EmployeeID). Я хочу отображать изображения всех значков, у которых есть счет больше 0.

Например, для phil в приведенной выше таблице все значки, кроме слайкера, счетчик больше 0. Таким образом будут отображены изображения всех этих значков с графом 1.

Пожалуйста, помогите мне.

+1

Yo'd лучше перепроектировать вторую таблицу (EmpId, BageId, количество) и просто использовать JOIN. – Serg

+0

@Serg Я понимаю, что могу использовать внутреннее соединение здесь. Теперь дело в том, как добавить badgeId во вторую таблицу. Основываясь на этом объекте, я могу присоединиться. – jane

ответ

1

Я думаю, что это делает то, что вы хотите:

select t1.badgeImage 
from table2 t2 join 
    table1 t1 
    on (t2.intoTheGame > 0 and t1.BadgeName = 'intoTheGame') or 
     (t2.getALife > 0 and t1.BadgeName = 'getALife') or 
     . . . 
where t2.employeeid = ?; 
1

Попробуйте это, этот запрос отлично работает в качестве ожидаемого результата.

SELECT EMPLOYEEID,EMPLOYEENAME,A.BADGENAME,BADGEID,BADGEIMAGE,COUNTS FROM (
SELECT EMPLOYEEID,EMPLOYEENAME,BADGENAME,COUNTS FROM EMPLOYEE--SECONDTABLE 
UNPIVOT(
COUNTS FOR BADGENAME IN (INTOTHEGAME,GETALIFE,SLOGGER,SLACKER,BEYONDCALLOFDUTY) 
)PVT 
)A INNER JOIN BADGES B ON A.BADGENAME=B.BADGENAME----FIRST TABLE 
WHERE COUNTS >0 
+0

это не собирается меня нигде. Здесь нет атрибута count. Anyways upvote coz u попытался. – jane

+0

@jane, я добавил столбец counts в списке выбора. Давайте проверим еще один. –

+0

ther не является атрибутом по имени «BadgeName» во втором столбце – jane