![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Przy konstrowaniu jednego zapytania pojawil sie pewien problem. Wyglada ono tak [sql:1:d5758a8059]INSERT INTO groups(cluster, name, level)
SELECT 1 , 'child', RPAD( SUBSTRING(g.level, 1, INSTR(g.level , '0' ) - 1 ) + 1, 7, '0' ) FROM groups as g WHERE INSTR(g.level , '0' ) - 2 = 0 AND SUBSTRING( g.level , 2, 1 ) != 9 AND (NOT EXISTS ( select * from groups as p where p.level = g.level )) AND g.cluster = 1 ORDER BY LEVEL desc LIMIT 1[/sql:1:d5758a8059] a problem pojawil sie z NOT EXIST. Nie jset to sprawa tylko tego zapytania poniewaz nawet banal zwraca mi cos takiego: Cytat SELECT 1
FROM groups AS p WHERE NOT EXISTS ( SELECT * FROM groups ) LIMIT 0 , 30 MySQL said: #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 'EXISTS ( SELECT * FROM groups ) Pomyslalem ze moze EXIST nie jest jeszcze zaimplementowane w mojej wersji servera mysql ale jakos nie moglem sie dokopac do informacji od ktorej wersji to dziala a ja uzywam prawie nowej 4.0.15 . Moze ktos jest zorientowany jak to wyglada? -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 554 Pomógł: 0 Dołączył: 4.04.2002 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Dobra poradzilem sobie. Jesli ogos to zainteresuje to podzapytania sa dostepne dopiero w wersji 4.1. Mozna jednak ominac niektore podzapytania. Pomogl mi znacznie dzial manualu mysql Rewriting_subqueries
a zwlaszcza Cytat The queries:
[sql:1:7a107fe155]SELECT * FROM t1 WHERE id NOT IN (SELECT id FROM t2); SELECT * FROM t1 WHERE NOT EXISTS (SELECT id FROM t2 WHERE t1.id=t2.id);[/sql:1:7a107fe155] Can be rewritten as: [sql:1:7a107fe155]SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id WHERE table2.id IS NULL;[/sql:1:7a107fe155] -------------------- "Real children don't go hoppity-skip unless they are on drugs."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.07.2025 - 22:09 |