Bu tabloları nasıl katılabilirim?

2 Cevap php

İki tablo var:

**WEEK**

-id

-week #

**ITEM**

-id

-name

-is_marked

-week #

Benim son istenen sonuç SELECT * FROM item WHERE week = week_number AND is_marked = 1 her hafta için üç sonuçları takip içinde week # ile rowspan = "3" tablo hücresi, bir tablo sahip olmaktır

Ben gerçekten HAFTA tablosundan herhangi bir veri gerekmez, çünkü bir şey JOIN gerekiyorsa ben bilmiyorum, ama ben oldukça ben istenen çıktı almak için sonuçları üzerinden döngü olur nasıl alınamıyor. Düşünceler?

2 Cevap

Tamam, bazı düşünceler.

  1. Eğer gerçekten veritabanında bir hafta tablo gerekiyor? Ne amaca hizmet ediyor? Bu öğe tablo için bir değer gibi görünüyor. Onun gerçekten bir varlık, yani IMO ayrı bir tablo gerek olmayabilir.

  2. Iki tablo katılmak için bir şey olduğunu sen haklısın. Öğe tablo içinde week_id olsaydı yerine numarası, 1 ki benim yorumlar dışında, mantıklı olur

  3. Her hafta Neden sadece 3 ürün? Eğer gerçekten istiyorsan, sana madde tabloda hafta sayısına göre sipariş öneriyoruz. Kodda diğer değerleri atabilirsiniz. Bu durumda fıkra ile sırasını kullanın.

  4. Yoksa, her biri için, hafta numarasını kullanarak öğe tablodan seçin, hafta tablodaki tüm değerleri üzerinden döngü olabilir. Sen sadece 3 ürün iade sınırı tümcesi de kullanabilirsiniz.

Hafta kimliği değil değer tutmak için madde tablo değiştirin.

o zaman basit bir yaparak katılabilir yapabilirsiniz:

select i.name
from item i
inner join week w on w.id = i.id
where w.week = '2' and i.is_marked = '1'