2014-11-10 4 views
-2

У меня есть три таблицы TBA и ТРегистрация операция не работает

TBA

  • tbAId
  • tbAName

Т

  • tbBId
  • tbBName

TBC

  • tbCId
  • tbAId
  • tbBId

Теперь я должен получать все BNAME назначенную TBA

Я попытался как

SELECT 
L.tbBId L.tbBName FROM tbB L 
JOIN 
tbC P ON P.tbAId = @AId; 

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

+0

Теперь я должен? – Wanderer

+6

Теперь я должен делать магию? –

+4

Ожидание убивает меня !! – TheProvost

ответ

0

Попробуйте это ..

SELECT L.tbBId, 
     L.tbBName 
FROM tbB L 
     JOIN tbC P 
     ON P.tbBId = L.tbBId 
     JOIN tbA A 
     ON P.tbAId = A.tbAId 
WHERE P.tbAId = @AId; 
+0

@Nida. Ответ такой, как вы ожидали, но я (или, может быть, другие тоже) прошу сделать некоторые google перед отправкой вопроса, потому что эта вещь может быть легко найдена. –

1
select tbAId,tbAName,tbBName 
from tbA join tbC 
on tbA.tbAId=tbC.tbAId 
join tbB 
on tbB.tbBId=tbC.tbBId 
WHERE P.tbAId = @AId 
1

Исправления, что вам нужно изменить

1. вы не разделяющей два столбца запятой

L.tbBId L.tbBName 

2. вы не считаете ed table tbA в запросе & Вы помещаете tbAId в запрос

Это измененный запрос. Я думаю, что это поможет вам

SELECT 
    L.tbBId, 
    L.tbBName 
FROM 
    tbB L 
INNER JOIN 
    tbC P ON P.tbBId = L.tbBId 
INNER JOIN 
    tbA A ON P.tbAId = A.tbAId 
WHERE 
    P.tbAId = @AId;