1242 - Подзапрос возвращает более 1 строки, что не так? - PullRequest
0 голосов
/ 23 января 2020

Я пробовал этот запрос:

SELECT `wh_pengeluaran`.`Nomor Dokumen`, `wh_pengeluaran`.`Created 
Date`, `inventory transactions`.`Transaction Item`,(SELECT Quantity 
FROM `inventory transactions` WHERE `inventory transactions`.`Proforma 
Invoice` > 0) as qtykeluar
FROM `inventory transactions` JOIN `wh_pengeluaran`
WHERE `inventory transactions`.`Transaction Item` = 1

Но MySQL сказал: Документация

1242 - Подзапрос возвращает более 1 строки

Кто-нибудь помогите, пожалуйста. Что не так с синтаксисом? Понятия не имею Спасибо! :)

1 Ответ

0 голосов
/ 23 января 2020

Проблема в том, что подзапрос возвращает более одной строки, что невозможно, если вы используете то же самое в операторе выбора. MySql не знает, что поместить из нескольких элементов в один столбец.

Я не знаю, чего именно вы хотите достичь, но, вероятно, вы можете выбрать только одну запись в подзапросе, используя LIMIT 1, если вы не заботится обо всех записях подзапроса и хочет выбрать любую.

Ваш подзапрос должен выглядеть примерно так:

SELECT Quantity 
FROM `inventory transactions` WHERE `inventory transactions`.`Proforma 
Invoice` > 0 LIMIT 1

Полный запрос:

SELECT `wh_pengeluaran`.`Nomor Dokumen`, `wh_pengeluaran`.`Created 
Date`, `inventory transactions`.`Transaction Item`,(SELECT Quantity 
FROM `inventory transactions` WHERE `inventory transactions`.`Proforma 
Invoice` > 0 LIMIT 1) as qtykeluar
FROM `inventory transactions` JOIN `wh_pengeluaran`
WHERE `inventory transactions`.`Transaction Item` = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...