1-й запрос;обе таблицы содержат все categories_id
s
SELECT
*
FROM
categories c,
categories_description cd
WHERE c.categories_id = cd.categories_id
ORDER BY sort_order, cd.categories_name
2-й запрос;эта таблица может быть содержит categories_id
SELECT
count(*)
AS total
FROM
products_to_categories
WHERE
categories_id = "'+ catid +'"'
Мне нужен способ вывести все категории из первого запроса (составить список) и дать мне ответ да / нет или0/1 от второго запроса в одном запросе SQL.
Результат будет выглядеть следующим образом:
categories_id | categories_name | total(*)
1 | categorie1 | 21
2 | categorie2 | 0 (if categories_id in 'products_to_categories' does not exist
Мне потребуется следующий код:
var dbSize = 5 * 1024 * 1024; // 5MB
var db = openDatabase("Oscommerce", "1.0", "Oscommerce Database", dbSize);
var categories={};
var list_str = '';
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM categories c,categories_description cd WHERE c.categories_id = cd.categories_id ORDER BY categories_id', [], function (tx, results) {
list_str += '<ul data-role="listview" data-inset="true" data-theme="d">';
var len = results.rows.length, i;
for (i = 0; i < len; i++) {
var r = results.rows.item(i);
categories[r.categories_id] = r;
}
for(key in categories)
{
var parent = 0;
var value=categories[key];
catId = value['categories_id'];
catName = value['categories_name'];
catImage = value['categories_image'];
parentId = value['parent_id'];
if (parentId == parent)
{
list_str += '<li id="'+ catId +'"><a class="parentlink" parentid="'+ parentId +'" catid="'+ catId +'" catname="'+ catName +'"><h3>' + catName + '</h3><p>' + catImage + '</p></a></li>';
///i need to do an else around here if the rowed list has products
}
}
list_str += '</ul>';
$('#parents').html(list_str).find('ul').listview();
});
});
Итоговый результат должен генерировать что-то вроде этого (посмотрите количество пузырьков в списке).