'account_products' adlı bir tablonuz var. Bu 'yabancı bir' product_id 'anahtarına ve ayrıca' create_at 'zaman damgası var.SQL İlk sütunda IN kullanın ve ikinci
Ayrıca 'ürünler' adlı bir masa var. 'Accout_products' ile aynı 'product_id' değerine eşit olan tüm ürünleri iade etmeye çalışıyorum. AMA Ayrıca 'account_products' dan 'created_at' dosyasına da ihtiyacım var, çünkü ne zaman yaratıldıklarını görmek istiyorum.
SELECT * FROM products
WHERE id IN (
SELECT product_id, created_at FROM account_products
)
ama İÇİNDE Madde sadece ayrıca account_products her sütun için created_at dönen, product_id ilgilidir:
Yani SQL gibi bir şey olduğunu anlamanın bir yolu var mı?
Teşekkürler!
Sen hiç IN gerekmez. İstediğiniz şey bir INNER JOIN ile yapılabilir. Gerçek tablo şemalarınızı, bazı örnek verilerini ve bu verilerden elde etmek istediğiniz çıktıyı sağlamak için [değiştir] ederseniz, buradaki bir kişi muhtemelen yardımcı olabilir. –
"accounts_products" tablosunda "product_id" * UNIQUE * öğesi ise "JOIN" işlemi sizin için işe yarayabilir. Öyle değilse, JOIN, "id" değerinizle "product_id" içinde eşleşen bir değere sahip olan account_products öğesinden * her * satırıyla eşleme potansiyeline sahiptir. Bu, sonuçta potansiyel olarak "çift" satırlar üretebilir. – spencer7593