[sql] jak zadac pyt z dwoch tabel ?

0

jak zadac pytanie z dwoch tabelek?
tabelka 1 pole numer
tabelka 2 pole kg

jak teraz zadac pytanie
select * from tabela1,tabela2 where numer >10 and kg ='';
mniej wiecej o to chodzi ale nie wiem jak zadac to pytanie;

0

sam odpowiedziałeś sobie na to pytanie

np: na bazie "Northwinda" z MS SQL:

select * from products p, orders o where
p.productid > 1 and o.customerid='VINET';

Zwróci Ci wszystkie produkty o id większym od 1 i id klienta = VINET
Chyba, że chodzi Ci o coś innego, bo ja tak zrozumiałem to pytanie

Pozdrawiam

0

select * from x_quantity o where state='1' and raw != 'T' and (select sum(quantity) from x_dyehouse_in where quantity_id = o.quantity_id) = '' order by order_no desc;

to mi wyswietla jedna linie pusta a chodzi o to zeby zliczal sume po quantity_id ktore jest brane z tabeli x_xuantity. i jesli suma da wynik zero lub pusty to wyswietla wlasnie ta danaa linijke

0

IMO za dużo jest tych AND i dlatego nie może być spełniony pewnie żaden warunek

0

jak za duzo przeciez nie ma okreslonej ilosci. to jak to zrobic

0

Mam dwa zapytania:

select * from x_quantity where state = '1' and raw != 'T' order by order_no desc

select sum(quantity) from x_dyehouse_in where quantity_id = $quantity_id

pierwsze wybiera mi zapytanie o okreslonych warunkach a drugie sprawdza ilosc kilogramow.
Jest zmienna $quantity_id ktora jest pobierana z pierwszego zapytania. Treaz pytanie jak to polaczyc.
Jak to zrobic zeby dodac 3 warunek do pierwszego zapyatnia tak aby nie wyswietlal wpisow gdzie kilogramy sa wieksze niz 0

0

No jasne, że nie ma określonej ilości, ale AND powoduje, że muszą być spełnione wszystkie 3 warunki, ineczej dostaniesz pustą linijkę. Jesteś, pewien, że te wszystkie warunki są spełnione. Wstaw sobie na próbę w któregoś AND - OR.
Nie wiem, czy o to konkretnie Ci chodzi...bo zrozumiałem, że problemem jest pusta linijka, a ma być tam coś innego

0

select * from x_quantity o where o.state = '1' and o.raw != 'T' and (select sum(quantity) from x_dyehouse_in where quantity_id = o.quantity_id) > '0' order by o.order_no desc;

jesli wpisze >0 dziala ale ja chce te co sa rowne 0
a jak wpisze < 1 lub = '' to nie wyswietla moze racja sprawdze z OR

0
widmo3 napisał(a)

jesli wpisze >0 dziala ale ja chce te co sa rowne 0
a jak wpisze < 1 lub = '' to nie wyswietla moze racja sprawdze z OR

Hmmm...nie mam okazji tego zobaczyć w całości, więc dokładnie nie potrafię wytłumaczyć, ale z tego co piszesz to przydatna może okazać się funkcja IS NULL & IS NOT NULL, jeżeli chcesz otrzymać te co są równe puste (zamiast <1)

Poza tym, możesz też użyć:

SELECT [kolumny] FROM [tabela] WHERE [warunek] IN(0);
0
(select sum(quantity) from x_dyehouse_in where quantity_id = o.quantity_id) = '' 

powiedz mi w jakich to zaskakujących warunkach przyrodniczych i na jakiej bazie kiedykolwiek lewa strona równa się prawej??? Po lewej masz sumę czyli liczbę a po prawej ciąg znaków (nie ważne, że pusty)

widmo3 napisał(a)

jesli wpisze >0 dziala ale ja chce te co sa rowne 0
a jak wpisze < 1 lub = '' to nie wyswietla moze racja sprawdze z OR

to wytłumacz mi jaka pokrętna myśl Tobą kierowała, żeby takie formułować tezy?? No jak chcesz RÓWNE ZERO to dlaczego piszesz MNIEJSZE OD JEDEN albo RÓWNE PUSTY CIĄG???

napisz tak jak chcesz, czyli

(select sum(quantity) from x_dyehouse_in where quantity_id = o.quantity_id) = 0

1 użytkowników online, w tym zalogowanych: 0, gości: 1