2016-11-19 5 views
0
私は私のテーブルから従業員のスケジュール表を作るために助けが必要

主な問題は、行は、行を継続し続けるので、すべての列に最初の行から開始し、以下の画像を参照してくださいではありません次の列が最初の行ではヌルで、最後の行から続行されることを確認してください。これは私のクエリとテーブルの関係です、あなたはそれを下に見ることができます。SQL Server 2012からスケジュールテーブルクエリを作成する方法?</p> <p><a href="https://i.stack.imgur.com/I9nVM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/I9nVM.png" alt="Table"></a></p> <p>たちができる:

enter image description here

SELECT  (SELECT  PEGAWAI.NAMAPEGAWAI 
         WHERE  (JADWAL.HARIKERJA = 'Tuesday')) AS Selasa, 
         (SELECT  PEGAWAI.NAMAPEGAWAI 
          WHERE  (JADWAL.HARIKERJA = 'Wednesday')) AS Rabu, 
         (SELECT  PEGAWAI.NAMAPEGAWAI 
          WHERE  (JADWAL.HARIKERJA = 'Thursday')) AS Kamis, 
         (SELECT  PEGAWAI.NAMAPEGAWAI 
          WHERE  (JADWAL.HARIKERJA = 'Friday')) AS Jumat, 
         (SELECT  PEGAWAI.NAMAPEGAWAI 
          WHERE  (JADWAL.HARIKERJA = 'Sabtu')) AS Saturday, 
         (SELECT  PEGAWAI.NAMAPEGAWAI 
          WHERE  (JADWAL.HARIKERJA = 'Monday')) AS Minggu FROM   JADWAL INNER JOIN 
        JADWALPEGAWAI ON JADWAL.IDJADWAL = JADWALPEGAWAI.IDJADWAL INNER JOIN 
        PEGAWAI ON JADWALPEGAWAI.IDPEGAWAI = PEGAWAI.IDPEGAWAI WHERE  (JADWAL.SHIFT = 'I') 
+1

こんにちは、ようこそ。それはあなたが写真ではなく質問にテキストとしてクエリを入れるなら、本当にあなたの質問に答えたい人を助けるでしょう。同様にテーブル。 – mendosi

+0

はすでにクエリとしてテキストを入力しています。ありがとうございます –

+0

クエリの出力の一部として従業員のために構築しようとしているスケジュールの種類は何ですか?それはあなたが知りたいことですか?すべての従業員が特定の日にシフトしているのは誰ですか?あなたの従業員のための毎週の名簿をクエリ出力として作成しようとしていますか?私が正しく理解していれば、「ペガワイ」には全従業員のリストが含まれています。 'JADWALPEGAWAI'は関係テーブルです。 'JADWAL'テーブルには何が入っていますか? – RBT

答えて

0

あなたが期待どおりに動作しないクエリを引き起こしているように思わ何、(あなたがのためにそれぞれの出力の1行を取得することを意味し、あなたがあなたのクエリに何GROUP BY句を持っていないということですこの場合は)JadwalPegawaiテーブルの各行。最低で

、あなたのWHERE …句の後GROUP BY Pegawai.NamaPegawaiを追加することでこの問題を修正する必要がありますが、私たちはより良い行うことができると思います。

Select Min(iif(j.Harikerja = 'Tuesday', p.NamaPegawai, Null)) As Selasa, 
    Min(iif(j.Harikerja = 'Wednesday', p.NamaPegawai, Null)) As Rabu, 
    … 
    From Jadwal As j 
    Join JadwalPegawai As jp On j.IdJadwal = jp.IdJadwal 
    Join Pegawai As p On jp.IdPegawai = p.IdPegawai 
    Where j.Shift = 'I' 
    Group By p.NamaPegawai; 

これは論理的に等価である必要がありますが、サブクエリを使用していません。私は何かスペルミスをしなかったことを願っています、私はインドネシアのbahasaにはあまりよくありません...

+0

ありがとう、私は "p.NamaPegawaiによる注文;"今は私が望むように働いた。 –

+0

私は "p.NamaPegawai descによる注文"を意味します。ありがとう。 –

関連する問題

 関連する問題