首先,我对MySql不熟悉,因此解决方案可能非常简单,而且我没有看到它。
这就是问题所在:我必须得到与某种事件有关的所有价格,而我却遇到了麻烦。
基本上,我必须从我获得事件类型的表格到我得到它的价格的表格。 这是从初始表到结果表的路径:
我这样开始,给出事件类型
std_event.type = <my type of event goes here>
从这里我必须从一个表迭代到另一个比较ID,做这样的事情:
std_event.id = std_concert.event_id
AND
std_concert.id = std_slot.concert_id
AND
std_slot.id = std_slot_deal.slot_id
AND
std_slot_deal.accepted = 1;
在SELECT
开始的时候,我会有
std_slot_deal.cachet
所以在这一切结束时我会得到一个标记(这是我所说的价格)。
感谢您的帮助!
P.S。如果您需要它,这是我目前的询问:
SELECT std_event.type, std_slot_deal.cachet
FROM std_event
INNER JOIN std_concert, std_slot, std_slot_deal
ON std_event.type = '.$evt_type.'
AND
std_event.id = std_concert.event_id
AND
std_concert.id = std_slot.concert_id
AND
std_slot.id = std_slot_deal.slot_id
AND
std_slot_deal.accepted = 1;
(是的,我通过PHP发送任务,'.$evt_type.'
是输入事件类型)
修改 这里有桌子&#39;结构我被要求:
std_event :id(I use it to link to event_id in std_concert table), title, description, type(the input data I use), image, ...
std_concert :id(I use it to link to concert_id in std_slot table), date, place, street, city, ..., event_id
std_slot :id(I use it to link to slot_id in std_slot_deal table), concert_id, due_date, ...
std_slot_deal :id, club_id, artist_id, slot_id, ..., accepted, cachet(the result I need)
使用此查询,我想基本上检索具有给定类型的事件的所有缓存。 我知道数据库非常混乱,但我必须努力,我甚至没有文档或任何东西。
答案 0 :(得分:1)
试试这段代码,这可能对您有所帮助
SELECT std_event.type, std_slot_deal.cachet
FROM std_event
INNER JOIN std_concert ON std_event.id = std_concert.event_id
INNER JOIN std_slot ON std_slot.concert_id = std_concert.id
INNER JOIN std_slot_deal ON std_slot.id = std_slot_deal.slot_id
WHERE std_event.type = '.$evt_type.'
AND
std_slot_deal.accepted = 1;