ホームページ >バックエンド開発 >PHPチュートリアル >#1241 - オペランドには 1 つの列を含める必要があります
#1241 - オペランドには 1 つの列が含まれている必要があります
SELECT o . * , (
SELECT count( * )
FROM purn_order_product AS op
WHERE op.op_oordernum = o.o_num
) AS op_cnt, (
SELECT *
FROM purn_order_product AS op
INNER JOIN purn_product AS p ON ( p.p_it = op.op_pcode )
WHERE op.op_oordernum = o.o_num
ORDER BY op.op_uid ASC
LIMIT 1
) AS p_info
FROM purn_order AS o
ORDER BY o_rdate DESC
LIMIT 0 , 50
すみません、
上記の SQL ステートメントではエラーが表示されます:
#1241 - オペランドには 1 列を含める必要があります
これを解決するにはどうすればよいですか?
もっと詳しく教えてください。
ありがとうございます
-----解決策のアイデア----------------------
選択 o 。 * ,
(SELECT count( *) FROM purn_order_product AS op WHERE op.op_oordernum = o.o_num) AS op_cnt,
(SELECT * FROM purn_order_product AS op INNER JOIN purn_product AS p ON ( p .p_it = op.op_pcode )
WHERE p.op_oordernum = o.o_num ORDER BY op.op_uid ASC LIMIT 1 ) AS p_info
FROM purn_order AS o
ORDER BY o_rdate DESC
LIMIT 0 , 50
赤い部分に問題があります。
複数のフィールドを 1 つのエイリアスに割り当てることは論理的に不合理です
その * は明示的な列名である必要があり、明示的な列名のみにすることができます