table1: node
fields: nid, ,title,type,created
query1:
mysql_query(SELECT nid,title, type,created FROM `node` where type="provider" ORDER BY created DESC LIMIT 0 , 22)
table2: votingapi_vote
fields: content_id, value=1 or value=0, value_type=option
query2:
SELECT content_id,
SUM(CASE WHEN value=1 THEN 1
WHEN value=0 THEN -1
ELSE 0
END) AS ContentSum
FROM votingapi_vote
WHERE value_type = 'option'
GROUP BY content_id
ORDER BY ContentSum DESC
content_id
значение равно nid
значение, но в таблице 1 nid
может не иметьвзаимно-однозначное соответствие таблице 2. например:
table 1 table2
nid content_id
1 1
2 3
3
, но content_id
имеет взаимно-однозначное соответствие nid
в таблице 1.
Теперь я хочу получить title list
.Который является не-1019 *.descending order
соответствует ContentSum
и created
.есть ли способ получить это?я должен использовать left join
?я не знаю, как заставить два запроса превратиться в один?
сложный запрос, чтобы написать мне в mysql?
перефразировать его :
структура таблицы один {узел}:
nid type title created
10 provider test one 1298107010
11 provider test two 1298107555
12 provider example one 1300524695
13 provider example two 1298081391
14 provider example three 1298082340
15 company example four 1298083519
16.... company example five 1298083559
структура таблицы два {Voteapi_vote}:
content_id value value_type
10 1 option
10 0 option
11 1 option
12 0 option
15 3 percent
15 2 percent
16..... 0 option
я хочу:
получить22 списка заголовков
...
test one
test two
example one
example two
...
1, значение nid
равно значению content_id
в таблице 2.
порядок очереди списка заголовков :
1, сначала в соответствии с таблицей 2 content_id
по убыванию списка плиток (по убыванию content_id с использованием «Для каждого content_id - количество строк со значением = 1 минус количество строк со значением = 0»)
2, поскольку таблица2 может содержать менее 22 записей и имеет такое же значение, когда число строк со значением = 1 минус количество строк со значением = 0.когда возникнет это состояние.используя поле created
в таблице 1 для спуска tile