Tôi đang cố thực hiện một số câu lệnh "if" trong mệnh đề where. Tôi nhận ra rằng sql không hỗ trợ này, nhưng tôi chắc chắn phải có một số cách để làm cho công việc này với cú pháp sql. Như thể hiện trong khu vực tôi có in đậm tôi đang cố gắng tìm tất cả các mục bắt đầu bằng d và lọc chúng ra nếu userfld2 của họ cũng = container.Thực hiện câu lệnh "if" trong câu sql ở khoản
Có cách nào hợp lý hơn để thực hiện điều này hơn tôi đang thực hiện hoặc tôi có rời khỏi điểm không?
Xin cảm ơn trước.
Select a.ItemID
, b.ConversionFactor VCaseAmt
, sum(c.ConversionFactor + 1) SCaseAmt
, a.status
, a.UserFld2
From timItem a
inner join timItemUnitOfMeas b on a.ItemKey = b.ItemKey
and b.TargetUnitMeasKey = 115
left join timItemUnitOfMeas c on a.ItemKey = c.ItemKey
and c.TargetUnitMeasKey = 116
left join timItemUnitOfMeas d on a.ItemKey = d.ItemKey
and d.TargetUnitMeasKey = 126
Where d.TargetUnitMeasKey is null
and b.ConversionFactor != c.ConversionFactor + 1
and a.Status = 1
and **(filter a.itemid not like 'd%' when a.userfld2 = 'Container')**
Group by a.ItemID, b.TargetUnitMeasKey, b.ConversionFactor, C.TargetUnitMeasKey
, c.ConversionFactor, a.status, a.UserFld2
Order by a.ItemID
lọc a.itemid không thích 'd%' ** và ** a.userfld2 = 'container'? – NINCOMPOOP