• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobranie danych z jednego zapytania do drugiego SQL

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
164 wizyt
pytanie zadane 14 kwietnia 2018 w SQL, bazy danych przez Anoonymous Obywatel (1,560 p.)
SELECT * FROM (SELECT date, title description, i.idItem FROM tags t INNER JOIN itemtags it ON t.idTag = it.idtag INNER JOIN item i ON it.idItem = i.idItem WHERE t.name = "java") as x,

(SELECT title, GROUP_CONCAT(`Name`) FROM tags JOIN itemtags ON tags.idtag = itemtags.idtag INNER JOIN item ON itemtags.iditem = item.iditem WHERE item.iditem = ???) as y LIMIT 20

Witam, mam taki SQL. W miejscu ??? muszę wstawić item.iditem z pierwszego zapytania ( ). Czy jestem w stanie uzyskać taki efekt w jednym zapytaniu?

1 odpowiedź

0 głosów
odpowiedź 26 kwietnia 2018 przez Kurczu Nowicjusz (180 p.)
Cześć,

Niestety w MySQL nie da się tego elegancko rozwiązać. W Oracle jest LATERAL, który dokładnie służy do tego co potrzebujesz. Natomiast w MySQL musiałbyś w drugiej linijce zrobić joina do pierwszej, niestety jest to bardzo nieefektywne.

Więcej informacji znajdziesz tu: http://www.hostitwise.com/hosting-blog/lateral-clauses-in-sql/

Podobne pytania

+1 głos
1 odpowiedź 440 wizyt
pytanie zadane 13 września 2017 w SQL, bazy danych przez arek01996 Stary wyjadacz (12,080 p.)
0 głosów
2 odpowiedzi 1,141 wizyt
0 głosów
1 odpowiedź 624 wizyt
pytanie zadane 10 maja 2022 w SQL, bazy danych przez alpha.netrunner Mądrala (5,030 p.)

93,433 zapytań

142,429 odpowiedzi

322,661 komentarzy

62,796 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...