Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skomplikowane zapytanie SQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Balon
proboje napisac zapytanie ktorego zadaniem jest usuniecie wszystkich tematow ktore nie zawieraja postow

  1. SELECT first_post_id FROM topics # tym pobieram id postow
  2. SELECT * FROM posts WHERE id = "wynik powyzszego"

a jesli nie ma takiego posta czyli ilosc rekordow drugiego zapytania wynosi 0, usuwamy to. czy mozna to zapisac w jednym zapytaniu ?

prosze o pomoc
pozdrawiam
Skobi
jasne ze mozna:

  1. DELETE
  2. FROM topics WHERE id_topics NOT IN ( SELECT id_topics FROM posts )
Balon
poprawilem to do takiej formy i nie dziala, wyrzuca blad skladni

  1. SELECT * FROM phpbb_topics WHERE topic_first_post_id NOT IN ( SELECT post_id FROM phpbb_posts )


SELECT dalem an razie zeby przetestowac dzialanie
Skobi
moze zaprezetuj strukture tabel i podaj dokladnie blad ktory wywala.
Balon
strukture masz taka jak w phpbb.

przerobilem troche inaczej zapytanie

  1. SELECT *
  2. FROM phpbb_topics WHERE topic_id NOT
  3. IN (
  4. SELECT topic_id
  5. FROM phpbb_posts )

ale andal wywala blad
Kod
#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 topic_id
FROM phpbb_posts ) LIMIT 0, 30' at line 5
Skobi
Czy uwazasz, ze wszyscy znaja phpbb. napisz strukture to sprawdze u siebie.
A i jeszcze jedno jaka masz wersje serwera.
bela
Podzapytania dzialaja tylko od 4.1 w gore. Wiec moze masz stara wersje.
Balon
4.0.18 winksmiley.jpg wszystko jasne, pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.