1
特定の複合/ネストされた条件が満たされているテーブルのすべてのレコードを選択するクエリを作成しようとしています。私の思う質問のロジックは正しいと思いますが、私が実行している問題は最後のサブクエリー(例を参照)が1行以上を返していることです。これは私が期待する/必要とするものです。だから問題は、どうやってこれに対処するのだろうか? MySQLは何らかのループや設定基準をサポートしていますか?MySQL対処方法:サブクエリは1行以上を返しますか?
SELECT c.primary_key
FROM esjp_content c
WHERE template_id = (
SELECT DISTINCT esjp_content.template_id
FROM esjp_content
INNER JOIN esjp_hw_config ON esjp_content.template_id = esjp_hw_config.proc_id
INNER JOIN esjp_assets ON esjp_hw_config.primary_key = esjp_assets.hw_config_id
WHERE
esjp_content.summary_id > 0
AND
(esjp_assets.asset_label='C001498500' OR esjp_assets.asset_label='H0065' OR esjp_assets.asset_label='L0009')
)
AND
EXISTS (SELECT 1 FROM esjp_content c2 WHERE c2.summary_id = c.primary_key)
AND
c.primary_key != (
/* This subquery returns more than 1 result. */
SELECT esjp_signoffs.content_id
FROM esjp_signoffs
INNER JOIN esjp_assets ON esjp_signoffs.asset_id = esjp_assets.primary_key
WHERE
esjp_signoffs.user_id=1
AND
(esjp_assets.asset_label='C001498500' OR esjp_assets.asset_label='H0065' OR esjp_assets.asset_label='L0009')
);
私のテーブルの詳細については、このother StackOverflow postをご覧ください。 (これは全く別の問題です。)
ありがとうございます! 'NOT IN'がトリックをしました! –
@JimFellありがとう.. – scaisEdge