|
|
|
| Не работает следующий запрос в MySQL 4.1
SELECT *
FROM Orders
WHERE cnum IN
(SELECT cnum
FROM Customers
WHERE cname = 'Cisneros');
В 5-ом работает.
Что делать? Есль ли аналог? | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 13:18)
| | А какое сообщение об ошибке выдает? | |
|
|
|
|
|
|
|
для: cheops
(15.02.2008 в 13:52)
| | 1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( SELECT cnum FROM Customers) | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 13:57)
| | По моему надо не IN а EXIST... | |
|
|
|
|
|
|
|
для: arseny
(15.02.2008 в 15:44)
| | Пробывал, тоже самое... | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 15:46)
| | If a subquery returns any rows at all, EXISTS subquery is TRUE, and NOT EXISTS subquery is FALSE. For example:
SELECT column1 FROM t1 WHERE EXISTS (SELECT * FROM t2);
видимо во вложенный запрос- это типа проверки на существование если есть хоть одна запись- то вернет TRUE и запись из главного запроса попадет в выборку... | |
|
|
|
|
|
|
|
для: arseny
(15.02.2008 в 16:08)
| | Ну да так и делал...
Результат тот же... | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 16:19)
| | Напиши точно как ты делал с EXISTS | |
|
|
|
|
|
|
|
для: arseny
(15.02.2008 в 17:01)
| | Например так:
SELECT *
FROM Orders
WHERE EXISTS
(SELECT cnum
FROM Customers
WHERE cname = 'Cisneros');
Ответ (phpMyAdmin):
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXISTS ( SELECT cnum FROM Customers WHERE cname = 'Cisneros') | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 17:14)
| | Какая версия MySQL? | |
|
|
|
|
|
|
|
для: arseny
(15.02.2008 в 17:53)
| | Я ж в теме указал - 4.1 | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 18:35)
| | Ставь 5 :) | |
|
|
|
|
|
|
|
для: DmitriyDS
(15.02.2008 в 13:18)
| | Эта же задача может быть решена простым запросом
SELECT Orders.* FROM Orders
LEFT JOIN Customers ON Orders.cnum=Custmers.cnum
WHERE Custmers.cnum IS NULL
|
| |
|
|
|
|
|
|
|
для: Trianon
(15.02.2008 в 19:53)
| | Скорее так:
SELECT Orders.* FROM Orders
LEFT JOIN Customers ON Orders.cnum=Custmers.cnum
WHERE Custmers.cnum IS not NULL
|
| |
|
|
|
|
|
|
|
для: Thrasher
(18.02.2008 в 10:57)
| | Ок, спасиба!!! | |
|
|
|