Rumah  >  Soal Jawab  >  teks badan

Mengurangkan pertindihan ID: Bagaimana untuk meminimumkannya?

Saya mempunyai dua meja dan meja bersambung di antaranya, Salah seorang pengguna dan salah satu jadual pautan cuti dan suka, Saya cuba menghasilkan semua cuti yang tidak disukai oleh pengguna tertentu Saya mendapat percutian yang sama dua kali kerana dua orang lagi menyukainya. Adakah terdapat cara dalam NSQL untuk membawa saya hanya satu daripada ini.

Ini adalah pengguna

id  u_name

1   Gabi    Ashkenazi   
2   Johnny  Tribiani    
3   Bernie  Stinson 
4   Goku    son 
5   Bo  Bennett

Ini adalah hari cuti

id  v_name

1   Venice
2   Rome
3   Maldives
4   Tokyo
5   Israel
6   Berlin
7   Prague
8   never Land

Jadual pautan adalah seperti berikut

id  u_id   v_id
5   2       7
3   1       6
4   2       5
9   4       4

P粉593649715P粉593649715244 hari yang lalu340

membalas semua(1)saya akan balas

  • P粉060112396

    P粉0601123962024-02-18 17:25:53

    Adakah perkara seperti ini berguna untuk anda? Cari semua cuti yang Johnny suka dan kembalikan senarai percutian yang dia tidak suka:

    SELECT * 
    FROM Vacations 
    WHERE v_name not IN 
    (
      SELECT v_name 
      FROM Users 
      JOIN Linking 
      ON Users.ID = Linking.U_id 
      JOIN Vacations On Linking.v_id = Vacations.ID
      WHERE Users.ID = 2
    );

    balas
    0
  • Batalbalas