#sql #naukaprogramowania
Mirki mam dwie tabele: teacher i subject. Oraz trzecią która łączy mi nauczycieli z przedmiotami: subjecthasteacher. Insertem połączyłem sobie każdego nauczyciela z każdym przedmiotem który uczy. Teraz chcę sobie wypisać te dane tzn. name i lastname z tabeli teacher oraz name z tabeli subject. Tak, żebym miał np. "Anna Nowak Matematyka". Zrobiłem takiego SELECTa:
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Patres: Jest ok :) Możesz też użyć jawnie JOINów i zamiast podawać kilka tabel po FROM połączyć je po klauzuli JOIN (wynik oczywiście ten sam, czytelność kodu trochę lepsza z jawnym JOINem)

edit:

do tego polecam stosować aliasy na tabelach, żeby nie robić takich tasiemców
teacher.id = subjecthasteacher.teacherid
  • Odpowiedz
@Patres: A tak nie lepiej :
SELECT t.firstname
,t.last
name
,s.NAME
FROM teacher t
LEFT JOIN subjecthasteacher sh ON t.id = sh.teacherid
LEFT JOIN subject s ON sh.subject
id = s.id
  • Odpowiedz
#sql #naukaprogramowania
Mirki czytałem, żeby id w tablicach były typu int. Ale jak np. teraz sobie tworzę bazy danych szkoły i mam tablice przedmiot oraz nauczyciel, które są w relacji n:n to chyba łatwiej by mi było stworzyć id typy varchar i dawać je do wspólnej tabeli:
insert into nauczyciel-przedmiot values(KOWALSKA, MATM); zamiast z intami:
insert into nauczyciel-przedmiot values(12, 3);
Czy w takiej sytuacji lepiej używać id typu
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Patres: Klucz główny tabeli powinien:
- być niezmienny
- być unikalny
Nie posiadasz kluczy naturalnych w tabeli które spełniają te warunki, użyj klucza sztucznego.

@M4ks Takie sytuacje są bardzo rzadkie i o ile można wspomieć o takiej możliwości lepiej dla wszystkich będzie jeśli osoby bez zaawansowanej wiedzy będą trzymały się integerów (tinyint, bigint, int, serial i inne).
  • Odpowiedz
@plushy: ja po prostu nie lubię stwierdzeń typu "PK tylko integer", bo to i nieprawda i bezsens. Czasem przydają sie np klucze złożone etc. Nie warto po prostu rzucać definitywnych stwierdzeń, bo jeszcze komuś zostanie i będzie kiepsko
  • Odpowiedz
Mireczki z #sql pomóżcie :(

Mam 3 tabele: locations, locationviews oraz locationratings. Chcę pobrać nazwę z locations, policzyć rekordy w locationviews(do 1 rekordu w locations może być wiele w locationviews) oraz średnią ocenę z tabeli locationratings(też jeden do wielu). Testowo mam 2 rekordy w locationviews a w rezultacie COUNT zwraca, że są 4 :/
Co robię
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

możesz to zrobić podzapytaniem np. Select locations.name, (select count(id) from views where locationid = locations.id) as x from locationviews where locations.id=2
  • Odpowiedz
Nie wiem dlaczego wywala mi blad

Syntax error (missing operator) in quiery expression 'b.amount from aapostepay b join a on a.annotazione = b.transactionid'


UPDATE registrazionecogedettaglio a
SET a.importo = b.amount
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Chcę powielić część rekordów w tabeli ale nie wiem jako poradzić sobie z kolumną z identyfikatorem. Jak nadać jej kolejne wartości?
#sql #mssql
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki pomóżcie bo tracę już wiarę, że to zadziała...
Mam 2 tabele, chcę połączyć dane by w rezultacie wypisać treść komentarza z 1 tabeli i ocenę z 2 tabeli łącząc je po userid. Warunkiem jest idlokacji do której wyświetlane są rekordy.

Mam takie zapytanie:
SELECT * FROM locationcomments JOIN locationratings ON locationratings.userid = locationcomments.authorid WHERE
f.....u - Mirki pomóżcie bo tracę już wiarę, że to zadziała...
Mam 2 tabele, chcę po...

źródło: comment_Cr2pmqqvwY0YR4pcPg4F3brvV99tYaBW.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam plik .MDB ale nie mam Accessa.

Chce usunac ok 20tys wierszy z tego pliku, moge to jakos zaimportowac do SQL Express albo otworzyc przez Excela? Probowalem przez import danych z innego zrodla> Access, ale mam do wyboru milion tabel wiec nie bardzo idzie, poza tym musze to potem spowrotem zapisac w formie .MDB zeby program do ksiegowosci z ktorego korzystam mogl go wczytac.

Problem jest taki, ze w programie do ksiegowosci wiersze moge
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 1
@entaroadun: powinno dać radę spokojnie z Excela ja w vba pisałem macra które otwierały plik z bazą i robiły na niej różne Select.

Możesz zrobić coś w stylu:

dim objAccess As Object
set objAccess
  • Odpowiedz
Cześć Mirko #programowanie #sql #debian #linux. Mam postawioną baze w postgresql, i skrypty które odpalają się cyklicznie i wrzucają do bazy jakieś tam dane (troche ważne). Problem w tym, że po niecałych ~~12h działania skryptów muszę restartować baze, bo zapytania wykonują się strasznie długo (właściwie wcale sie nie wykonują). Po restarcie service`u wszystko jest super ok, ale jakoś nie widzi mi się restartowanie
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ginden: Jakby ktoś był zainteresowany co to było:
sprawdzałem czy stronka odpowiada pobierając jej zawartość GETem, ale nie miałem timeoutu. Cron odpalał kolejne skrypty i rura sie zapychała. Ustawienie timeoutu stronki załatwiło problem. ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Jak chcę w #sqlite żeby mi automatycznie razem z danymi wstawiało indeks (primary key, automatycznie inkrementowany) to muszę w pole id wstawiać NULL (z tego co zrozumiałem), czyli np.

insert into jakasTabela (id, kolumna1) values (NULL,123)
Jak wstawić do takiej tabeli wynik zapytania i jednocześnie tego nulla dla id, żeby się automatycznie indeks robił? czyli coś w stylu
insert into jakasTabela (id, kolumna1, kolumna2) select from ....... ale id wszędzie
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@psi-nos: A nie wystarczy

INSERT INTO jakasTabela (kolumna1) values (123)
żeby zadziałał inkrement? :P A jeśli już musisz robić to co chcesz to:

INSERT INTO jakasTABELA (id, kolumna1, kolumna2)
SELECT NULL AS "id", kolumna1, kolumna2 FROM ... ;
  • Odpowiedz
Witajcie, mam problem natury #programowanie, acz #sql to podobno nie programowanie ( ͡° ͜ʖ ͡°) Dostaje jsona w programie, wysyłam go sobie do postgresql i tam mam tabele, która zawiera 6 pól varcharów. Problem w tym, że bardzo rzadko json ma wszystkie 6 varcharów które chciałbym wrzucić do tabeli, czasami jest tego mniej, tych których nie ma, są nullami. Problem pojawia się, gdy chcę wrzucić do
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ogrod87: Myślałem nad tym, ale biorąc pod uwagę treści pod #programowanie czy każdym innym tagiem (Martwię się tylko o #sql, bo go nie śledzę. Może ten jest merytoryczny), to wychodzę z założenia, że kilka artykułów nikomu nie zaszkodzi.

A jak komuś przeszkadza, to przecież mamy od programistów Wykopu działające czarne listy ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Hej Mirki z #sql (oracle), mógłby ktoś pomóc zadaniu :)?

Mam taką treść zadania:
5. Z widoku empdetailsview wyświetl średnie zarobki dla każdego stanu/prowincji, dla którego mieszkańcy mają imiona zawierające literę a.

Mam widok empdetailsview, w nim kolumny
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach