0

私はこのようなスキーマを持っています

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

私は TransactionID と TransactionDate (フォーマットは 'yyyy.MM.dd') を表示したいのですが、MedicineTypeName は 'Syrup' ではなく、MedicinePrice は変換を使用して 15000 を超えています。

結果はこのようになるはずです

結果写真

私が試してみました :

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

)
4

1 に答える 1

0

d.MedicineTypeID を md.MedicineTypeID に変更しました

重複を防ぐために個別に追加

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フィドル

于 2013-06-29T21:06:34.373 に答える