Ikincil tablolar geçerli olmasa bile, bir sorguda birden çok tablodan veri döndürülüyor

0 Cevap php

I have an issue getting data from three tables, which I want to return using one query. I've done this before using a query something like this one:

$query = mysql_query("SELECT 
    maintable.`id`,
    maintable.`somedata`,
    maintable.`subtable1_id`,
    subtable1.`somedata`,
    subtable1.`subtable2_id`,
    subtable2.`somedata`
FROM
    `maintable` maintable,
    `subtable1` subtable1,
    `subtable2` subtable2
WHERE
    maintable.`somedata` = 'some_search' AND
    subtable1.`id` = maintable.`subtable1_id` AND
    subtable2.`id` = subtable1.`subtable2_id`
")or die(mysql_error());

Sorun bu kez ilave ayrıntılar aslında geçerli olmayabilir olmasıdır. Belirtilen hiçbir subtable1_id olmasa bile ben, maintable yılında some_search eşleşen tüm sonuçları dönmek gerekiyor.

Ben çizgisinde gidecek bir şey gerekiyor

WHERE
     maintable.`somedata` = 'some_search'
AND IF maintable.`subtable1_id` IS NOT NULL (
     WHERE subtable1.`id` = maintable.`subtable1_id` AND
     subtable2.`id` = subtable1.`subtable2_id`
)

Muhtemelen tahmin edileceği gibi, ben ileri mysql kullanıcı değilim! Ben olabilir gibi deneyin, ben sözdizimi hakkı elde edemez, ve ben web üzerinde çözüm ararken şans oldu.

Herhangi bir yardım çok takdir!

0 Cevap