2013-06-29 20 views
0

我有這樣SQL:在另一個表條件的數據顯示

http://sqlfiddle.com/#!3/690e8

我想說明的TransactionID和TransactionDate(與格式「YYYY.MM.DD」),其中MedicineTypeName不是一個模式的「糖漿」和MedicinePrice大於15000使用轉換,存在,並在...

的結果應該是這樣的

result pics

我曾嘗試:

select th.TransactionID,convert(varchar,th.TransactionDate,20)[tanggal] 
from TransactionHeader th 
join TransactionDetail td on th.TransactionID = td.TransactionID 
where td.MedicineID in 
(
select md.MedicineID 
from MsMedicine md join MsMedicineType mmt on mmt.MedicineTypeID = d.MedicineTypeID 
where mmt.MedicineTypeName not like 'syrup' and md.MedicinePrice > 15000 

) 

回答

0

更改d.MedicineTypeID到md.MedicineTypeID

增加明顯,以防止DUP的

select distinct th.TransactionID,convert(varchar,th.TransactionDate,20)[tanggal] 
from TransactionHeader th 
join TransactionDetail td on th.TransactionID = td.TransactionID 
where td.MedicineID in 
(
select md.MedicineID 
from MsMedicine md join MsMedicineType mmt on mmt.MedicineTypeID = md.MedicineTypeID 
where mmt.MedicineTypeName not like 'syrup' and md.MedicinePrice > 15000 

) 

sql fiddle

相關問題