2016-03-29 34 views
1

İki tablom var (tablo1 ve tablo2) table1 iki sütun gün ve timeSlot var. table2 ayrıca gün ve timeSlot sütunlarına sahiptir. Tablo1'de tarih ve saat satırları vardır, tablo 2'de tarih ve saat de dahil olmak üzere eklenen veriler bulunur. SorumaMySQL - Başka bir hesaptan eşleşmeyen öğeleri al

Sorusu alınmadığı tarihleri ​​listeleyecek bir sorgu dizesi yazmaya çalışıyorum.

Ama aslında sadece götürüldü tarih ve saatler birini alacak çok rastgele satır döndürür:

Aşağıdaki çalıştılar.

SELECT table1.day, table1.timeSlot 
FROM woodlandsBookingVipSalesDates 
INNER JOIN table1 ON table1.day != table2.day AND table1.timeSlot != table2.timeSlot 

Soruma göre gün ve saat listesi nasıl alınır? Eğer table1 ve table2 katılmadan olması woodlandsBookingVipSalesDates demek varsayarsak

+1

siz, sütunlar türlerini açıklamak verilerin bir örnek vermeye ve beklenen sonuçlar daha iyi memnun edebilirim yapardınız? – arilia

+0

Lütfen sorununuzu açıklayın –

+0

woodlandsBookingVipSalesDates veya table2? – Matt

cevap

2

soru

Ben woodlandsBookingVipSalesDates tüm kullanılan tarihleri ​​ve saati içerdiğini varsayalım çok açık değildir yuvaları ve bu masa_1, tüm mevcut tarih ve saat yuvalarını

içeriyor.

yüzden basit

SELECT table1.day, table1.timeSlot 
FROM table_1 WHERE 
(day, timeSlot) NOT IN (SELECT day, timeSlot FROM woodlandsBookingVipSalesDates) 
1

...

Kullanım NOT EXISTS

SELECT t1.day, t1.timeSlot 
FROM table1 t1 
WHERE NOT EXISTS (SELECT NULL 
        FROM table2 t2 
        WHERE t1.day != t2.day 
        AND t1.timeSlot != t2.timeSlot 
       ) 
İlgili konular