Возможный дубликат:
Справка по SQL-запросу — два условия where в условии соединения
У меня есть следующие таблицы со столбцами, как показано ниже. Я упомянул, что мне нужно от этого. Я уже разместил здесь ссылку справка по SQL-запросу - есть два условия соединения в условии соединения с тем, что я пытался, но не могу получить это через. Еще раз полагая это прямо с тем, что мне нужно:
Book
BookId, BookName
Desk
DeskId, BookId ,DeskName
CounterParty
CPId, CpName
Trade
TradeId, Buyer, Seller
Вот как будут выглядеть данные о покупателе и продавце:
Buyer Seller
B3232 B323
C32 B222
B323 C323
Основываясь на начальном символе B или C в этих двух столбцах, мне нужно присоединиться к таблице Book или CP, чтобы проверить идентификаторы.
I need **t.TradingDeskName, b.BookName, c.CpName, t.Buyer, t.Seller.**
Любая помощь очень ценится.
Спасибо, мани
p.s: я пытаюсь сделать это через SQL или Linq to Sql.
Недавний запрос, но есть еще что исправить:
SELECT DISTINCT desk.Name as TradingDeskName, b.Name as Book, t.Seller, t.Buyer, c.PartyName, FROM TradingDesk AS desk
RIGHT JOIN Book as b
ON b.TradingDeskId = d.Id
RIGHT JOIN Trade as t
ON LEFT(t.Buyer, 1) = 'B' AND SUBSTRING(t.Buyer, 2, len(t.Buyer)) = b.Id
LEFT JOIN Book as b1
ON LEFT(t.Seller, 1) = 'B' AND SUBSTRING(t.Seller, 2, len(t.Seller)) = b1.Id
LEFT JOIN CounterParty as c
ON LEFT(t.Buyer, 1) = 'C' AND SUBSTRING(t.Buyer, 2, len(t.Buyer)) = c.PartyId
LEFT JOIN CounterParty as c1
ON LEFT(t.Seller, 1) = 'C' AND SUBSTRING(t.Seller, 2, len(t.Seller)) = c1.PartyId
Как я уже упоминал, мне нужно: Desk.Name - B.Name - T.Seller - T.Buyer- C.PartyName
C.PartyName будет иметь значение, если значение T.Seller или T.Buyer начинается с «C» (из таблицы CounterParty), в противном случае оно будет нулевым.
С приведенным выше запросом у меня есть нулевые значения, поступающие в Desk.Name, B.Name, и логика gettig C.PartyName также не работает.
Buyer
, иSeller
могут быть книгами. На каком из них будет основыватьсяb.Name
в вашем запросе? - person Andriy M   schedule 19.07.2011Trade
будет представлен в выводе дважды, один раз с именем книгиBuyer
и один раз с именем книгиSeller
, и оба раза с пустым (NULL) именемCounterParty
? - person Andriy M   schedule 19.07.2011