[mysql] znajdź rekordy, które w przynajmniej jednej kolumnie mają wartość 0 |
[mysql] znajdź rekordy, które w przynajmniej jednej kolumnie mają wartość 0 |
4.09.2013, 13:02:46
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 10.06.2013 Ostrzeżenie: (0%) |
Mam taką tabelę:
TABELA id / A / B / C / data w kolumnach A/B/C mogę mieć wartość 1 lub 0. Data to zapis daty, np. 2013-06-05. Chciałabym wyciągnąć wszystkie wiersze, w których: - wartość 0 pojawia się w przynajmniej jednej kolumnie (A, B lub C) z założeniem, że dla tego rekordu dowolna kolumna A/B/C ma wartość 1. - warunek jest spełniony dla określonej daty. Jak to zrobić? Próbowałam: select ID from tabela t1 where data = '2013-08-25' and exists (select 1 from tabela where t1.id = id or A <> '1' or B <> '1' or C <> '1' or D <> '1') ale to zupełnie nie to, czego szukam. Czy macie jakieś pomysły? |
|
|
4.09.2013, 13:54:09
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) |
|
|
|
4.09.2013, 20:57:41
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Zauważ, że może być tylko 0 lub 1... A więc wystarczy, że jest tylko jedno 0. Tym samym warunek spełnia wszystko co nie ma we wszystkich kolumnach 1, ale 1 musi wystąpić choć raz. Najbardziej ogólny przypadek więc to: suma wartości w interesujących nas kolumnach jest mniejsza niż liczba kolumn, ale jednosześnie choć jedna ma 1. Tu mamy 3 kolumny... a więc
W przypadku większej ilości odpowiednio:
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
5.09.2013, 09:36:28
Post
#4
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 10.06.2013 Ostrzeżenie: (0%) |
Takie proste i takei genialne, dziekuje
Ten post edytował alekto 5.09.2013, 09:36:42 |
|
|
7.09.2013, 10:55:04
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 043 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) |
|
|
|
7.09.2013, 10:58:07
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
@sazian no wlasnie nie, bo twoj warunek lyknie pola gdzie wszedzie jest 1, a wyraznie jest zaznaczone, ze musi byc przynajmniej jedno 0
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 13:18 |