Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Co w MySQL zamiast MINUS?
-avoninfo-
post
Post #1





Goście







potrzebuję takiego zapytania w MySQL:

  1. SELECT braki.kod AS qqq, kody.nazwa AS www
  2. FROM dostawy,
  3. braki, kody
  4. WHERE DATE_SUB('$data',INTERVAL 14 DAY)<=data_dostawy AND DATE_ADD('$data',INTERVAL 7 DAY)>=data_dostawy AND braki.dostawa=dostawy.id AND braki.kod=kody.kod AND braki.typ!='Dostalam' AND braki.typ!='Nie zamawialam'
  5. GROUP BY qqq


MINUS

  1. SELECT braki.kod AS qqq, kody.nazwa AS www
  2. FROM dostawy,
  3. braki, kody
  4. WHERE DATE_SUB('$data',INTERVAL 14 DAY)<=data_dostawy AND DATE_ADD('$data',INTERVAL 7 DAY)>=data_dostawy AND braki.dostawa=dostawy.id AND braki.kod=kody.kod AND braki.typ!='Dostalam' AND braki.typ!='Nie zamawialam' AND dostawy.czyja='$_SESSION[id]'
  5. GROUP BY qqq


jak je zapisać?
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Musisz zanegować to co jest odejmowane i zamienić AND na OR:
  1. SELECT braki.kod AS qqq, kody.nazwa AS www
  2. FROM dostawy,
  3. braki, kody
  4. WHERE DATE_SUB('$data',INTERVAL 14 DAY)<=data_dostawy AND DATE_ADD('$data',INTERVAL 7 DAY)>=data_dostawy AND braki.dostawa=dostawy.id AND braki.kod=kody.kod AND braki.typ!='Dostalam' AND braki.typ!='Nie zamawialam' AND !(DATE_SUB('$data',INTERVAL 14 DAY)<=data_dostawy ORDATE_ADD('$data',INTERVAL 7 DAY)>=data_dostawy OR braki.dostawa=dostawy.id ORbraki.kod=kody.kod OR braki.typ!='Dostalam' OR braki.typ!='Nie zamawialam' OR dostawy.czyja='$_SESSION[id]')
  5. GROUP BY qqq


--------------------
Go to the top of the page
+Quote Post
-avoninfo-
post
Post #3





Goście







Niestety, nie ma tak pięknie:(.

GROUP BY nie da sie tak łatwo obejśc.

o co mi chodzi: przyjmijmy, że mam jedną tabelę

braki:
kod, wlasciciel
1 A
1 B
2 A
3 B
3 C
3 D
5 D
6 D
6 E
7 F

w wyniku zapytania ktorego wejsciem jest jakis WŁAŚCICIEL chciałbym otrzymać wiersze, z takim polem kod , aby ten kod nie był nigdy z polem właściciel= WŁAŚCICIEL

wyjście ( dla WŁAŚCICIEL = D):

kod. wlasciciel
1 A
1 B
2 A
7 F

najlepiej DISTINCT.
czyli:
kod.
1
2
7
Go to the top of the page
+Quote Post
TomASS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Albo jest już za późno, albo jestem za głupiutki..... czy nie da się tego zrobić tak:
  1. SELECT kod
  2. FROM tabela
  3. WHERE wlasciciel!='D' GROUP BY kod ORDER BY kod DISTINCT;


--------------------
Go to the top of the page
+Quote Post
-avoninfo-
post
Post #5





Goście







Mam już to zrobione - 2 zapytania i php (NOT IN piewsze_zapytanie)


a wynik proponowanego przez Ciebie rozwiązania to:


KOD:
1
2
3
6
7


dzięki za zainteresowanie smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:37