В моей базе данных SQL есть две таблицы:
mysql> select *from crop;
+------+-----------+----------+
| no | name | type |
+------+-----------+----------+
| 1 | pineapple | fruits |
| 2 | wheat | mainFood |
| 1 | apple | fruits |
| 2 | corn | main |
| 3 | rose | flower |
| 2 | wheat | main |
| 2 | maize | main |
| 1 | drydates | fruits |
+------+-----------+----------+
mysql> select *from enviornment;
+---------+------------+----------+------+
| climate | irrigation | soil | no |
+---------+------------+----------+------+
| humid | medium | alluvial | 2 |
| humid | medium | black | 1 |
| humid | medium | red | 1 |
| sunny | low | black | 1 |
| sunny | medium | alluvial | 1 |
| wet | high | red | 2 |
| humid | low | red | 3 |
+---------+------------+----------+------+
Я хочу получить поля name
и type
от crop table
, основываясь на климате, почве и ирригации.
Я написал свой запрос следующим образом:
mysql> select T.name from((select name from crop)as T and (select no from envior
nment where climate like wet)as U)where T.no=U.no;
Но когда я пытаюсь выполнить его, я получаю следующую ошибку:
ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'и (выберите no из среды, где климат влажный) как U) где T.no = U.no' в строке 1
Может кто-нибудь сказать мне, как переписать мой запрос, чтобы избежать этой ошибки?