SQL Serverでこれを行うことはできますか?最初のレコードで大文字と小文字を区別する場合は
ある列に同じproduct_id
のレコードがあり、別の在庫(在庫あり)にYまたはNがあるテーブルから選択し、product_idが同じであるYを持つ最初のレコードを取って、別のテーブルのproduct_id_set
と一致しています。
... ,
SELECT
(SELECT TOP 1
(product_name),
CASE
WHEN in_stock = 'Y' THEN product_name
ELSE product_name
END
FROM
Products
WHERE
Products.product_set = Parent_Table.product_set) AS 'Product Name',
...
サンプルデータは、例えば、 'ナシ' であろうproduct_set = 1から
product_set in_stock product_id product_name
---------------------------------------------------
1 N 12 Orange
1 Y 12 Pear
2 N 12 Apple
2 N 12 Lemon
出力することになります。
あなたの質問には多少の曖昧さがあります。私はあなたに正解を与えるために解決する必要があります。 in_stock値が 'Y'の製品IDのレコードがない場合は、何かが返されますか?第二に、in_stock 'Y'を持つ複数の行がある場合、どの行を選択するか気にしますか? – Xedni