Autor Zpráva
Prefin
Profil
Ahojda všichni.
Potřeboval bych trochu pomoct jedním kombinovaným (asi ani ne tak složitým) dotazem.
Mám tabulku poptavky v které jsou zkrátka poptávky. Na tyto poptávky se do tabulky nabídky vkládají nabídky od různých subjektů.

Potřeboval bych vybrat z tabulky poptávky pouze takové, na které je v tabulce nabidky nabidka od jednoho subjektu včetně hodnoty jednoho sloupce.

Tři oddělené dotazy jsou takto:
$subjekt="11235"; // Identifikace subjektu, který nabídku učinil
$kod = "xxxxxxxxxxxxxx"; // Nabídka vkládaná do tabulky nabídky je identifikována hodnotou 'kod', obsaženou v každé poptávce
// První dotaz
$sql = "SELECT id,kod,jmeno,prijmeni,firma,produkt,nemovitost,vyse_pozadavku,delka_pozadavku,souhlas,investor,posouzeni,schvaleni FROM poptavka WHERE ORDER BY souhlas DESC";
...
// a vypisovat pouze ty, které vyhovují druhému dotazu
if(mysql_result(mysql_query("SELECT COUNT(*) FROM nabidky WHERE subjekt='$subjekt'"),0)==0) continue;
// a za další získat hodnotu ze sloupce vyjadreni tabulky nabidky
$vyjadreni = mysql_result(mysql_query("SELECT vyjadreni FROM nabidky WHERE subjekt='$subjekt' and kod='$kod'"),0);
Zkoušel jsem varianty s IF nebo UNION ale nějak jsem to nesplácal.
Potřebuji to dát do jednoho protože to budu stránkovat a bude to takhle jednodušší a rychlejší.
Moc díky za pomoc.
juriad
Profil
Vybere sloupce z tabulky poptavky (alias p), takové, že je možné propojit s nabídkou se stejným kódem a daným subjektem.

SELECT p.*
FROM poptavky p
JOIN nabidky n ON p.kod = n.kod AND n.subjekt = 11235
ORDER BY p.souhlas DESC
tiso
Profil
juriad: SELECT p.*, n.vyjadreni

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0