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!