Biłem sobie głowę na biurku, próbując to rozgryźć. Mam tabelę, która przechowuje informacje o zadaniu i powody, dla których praca nie jest zakończona. Powody są numeryczne, 01,02,03 itd. Możesz mieć dwa powody do oczekującej pracy. Jeśli wybierzesz dwa powody, zostaną one zapisane w tej samej kolumnie oddzielone przecinkiem. To jest przykład z jobid tabeli:Zapytanie SQL z wieloma wartościami w jednej kolumnie
Job_Number User_Assigned PendingInfo
1 user1 01,02
Jest inna tabela o nazwie Oczekuje, która przechowuje co rzeczywiście przedstawiają te wartości. 01 = Niewystarczająca ilość informacji, 02 = Za mało czasu, 03 = Czekanie na recenzję. Przykład:
Próbuję wykonać zapytanie do bazy danych, aby podać wszystkie numery stanowisk, użytkowników, informacje o oczekiwaniu i przyczyny oczekujące. Mogę przebić pierwszą wartość, ale nie mogę wymyślić, jak wykonać drugą. Co moje ograniczone umiejętności dotąd:
select Job_number,user_assigned,SUBSTRING(pendinginfo,0,3),pendingword
from jobid,pending
where
SUBSTRING(pendinginfo,0,3)=pending.pending_num and
pendinginfo!='00,00' and
pendinginfo!='NULL'
co chciałbym zobaczyć w tym przykładzie będzie:
Job_Number User_Assigned PendingInfo PendingWord PendingInfo PendingWord
1 User1 01 Not Enough Info 02 Not Enough Time
góry dzięki
Czy zmiana schematu jest opcją? Ta relacja powinna być albo tabelą odwzorowania, albo kolumną przyczyny wtórnej. –
Baza danych 101 - ** pierwsza ** normalna forma (1NF): każdy wiersz/kolumna kolumny może zawierać co najwyżej ** jedną wartość **. –