Jak dodac dodatkowa kolumne z drugiego zapytania.

0

Czesc mam pewne zapytanie A z 3 kolumnami i 10 wierszami, jest jakis sposob aby dolaczyc z drugiego zapytanie rezultat jako dodatkowa kolumne?

2

Jest.

0

Jestes w stanie powiedziec jaki? Bo union nie dziala tak jak tego oczekuje.

0

Mam dwie tabele A oraz B. Połączyłem tabele left joinem ponieważ potrzebuje cały zasób A oraz cześć wspólna B.

A do tego potrzebuje policzyć ile jest poszczególnych id w tej tabeli, wszystko ładnie działa bo robię count i grupuje po id.

Ale jest problem wtedy kiedy wybiorę poszczególnego id usera wtedy grupowanie sie rozkrzacza.

A potrzebuje cały zasób A wraz z cześcia wspólna B dla konkretnego id a ponadto grupowanie dla całej tabeli A tak jakby nie patrząc na to ze wybraliśmy konkretne id usera tylko po prostu grupowanie dla całej tabeli A a przez to ze wybieramy id usera to niestety grupowanie nie jest bezwzgledne

1

Podaj konkretny przykładowy schemat bazy oraz dane, ponieważ z Twojego opisu nie da się nic wywnioskować.

0

I bez tagu domyslaliem się, że to MySQL. Pewnie twój problem polega na tym, że grupujesz po złej liczbie elementów...

0

Pewnie twój problem polega na tym, że grupujesz po złej liczbie elementów...
grupuje dobrze bo dostaje grupe elementow ktora sie zgadza ale chodzi o to ze chcialbym aby ten wynik byl bezwzgledny, nawet jak pozniej bede chcial wyszukiwac wynikow tylko dla konkretnego id, ale zaraz zreszta pokaze.

Tutaj podam zapytanie, ktore jest moim bazowym zapytaniem ktore udostepniam do postow zalogowanego usera

SELECT vote.id AS voteID,users.login as creator,post.name as postName,
         CASE 
          WHEN vote.user_id = ? THEN 'cant'
          ELSE 'can'
         END AS canVote
FROM posts
LEFT JOIN votes
ON posts.id = votes.post_id AND vote.user_id = ?
JOIN users
ON posts.creator = users.id
ORDER BY voteID

Tym zapytaniem dostaje wszystkie posty, a kiedy zajdzie relacja, to post-votes to wyswietli nam dane id, bo inaczej wyskoczymy nam null, a to null jest potrzebne bo w ten sposob wiem, do ktorych nie zaglosowal, a potrzebne mi wyswietlenie wszystkich postow a nie tylko tych co zaglosowal.
Wszystko psuje ten dopisek

AND vote.user_id = ?

oczywiscie psuje jesli chce zrobic order by, aby policzyc wszystkie vote'y dla danego posta, a gdybym zmazal to, to wtedy otrzymuje dobra ilosc ale niestety nie jest do dobre zapytanie dla konkretnego usera (zalogowanego) w tym wypadku.

0

Wie ktos jak grupowac mimo klauzuly where? Bo przez where nie dostaje prawdziwej grupy wynikow, tylko wynik dla klauzuli WHERE

0

albo chcesz mieć wszystkie dla usera albo wszystkie dla wszystkich. A tak w ogóle to podaj DDL tabel i co ma być w wyniku i daruj sobie swoje wodolejskie opisy bo to nic nie daje!

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