mysql заявка

skinybg

Registered
Заявка с която да изкарам резултати от две различни таблици в случея

"shoes" и "clothes" където полето big_promo = YES
 
select `s`.*,`c`.* FROM `shoes` as `s` LEFT JOIN `clothes` as `c` ON `big_promo` = 'yes' WHERE `s`.`big_promo` = 'yes'



малко не е ясно кякво искаш да иведеш
 
и двете не ми помагат

какво по ясто от това незнам

имам две таблици
едната е дрехи - clothes
другата е обувки - shoes

и двете таблици имат поле big_promo

и в един файл ще изкарам промоциите ,а разбирам дали е промоция с това поле big_promo

искам заявка която да ми изкара резултатите от shoes и clothes където полето big_promo е равно на YES
 
Код:
SELECT * FROM `shoes`, `clothes` WHERE `shoes`.`big_promo` = "yes" AND `clothes`.`big_promo` = "YES"
Точно това е заявката, която ти трябва. Изважда резултатите, които имат поле big_promo със стойност YES от shoes и clothes.
 
idevbg каза:
Код:
SELECT * FROM `shoes`, `clothes` WHERE `shoes`.`big_promo` = "yes" AND `clothes`.`big_promo` = "YES"
Точно това е заявката, която ти трябва. Изважда резултатите, които имат поле big_promo със стойност YES от shoes и clothes.

може би заявката трябва да е така

Код:
SELECT * FROM `shoes`, `clothes` WHERE `shoes`.`big_promo` = 'yes' AND `clothes`.`big_promo` = 'yes'
 
idevbg каза:
Код:
SELECT * FROM `shoes`, `clothes` WHERE `shoes`.`big_promo` = "yes" AND `clothes`.`big_promo` = "YES"
Точно това е заявката, която ти трябва. Изважда резултатите, които имат поле big_promo със стойност YES от shoes и clothes.

изкарва ми резултатите от shoes по два пъти не стига до дрехите
 
грешката е в кода, който ти вади работи значи, защото заявка е правилна я го дай тука
 
<?php
include"inc/config.php";
$sql = mysql_query("SELECT * FROM `shoes` WHERE `big_promo` = 'YES' LIMIT 0,3") or die (mysql_error());
while($row = mysql_fetch_assoc($sql)) {
echo '<div class="else">
<div class="else_back">
<div class="else_pic"><center><img src="'.$row.'" width="75" height="49" /></center></div>
<div class="else_price"><center>'.$row[price].' лв</center></div>
</div>
</div>';
}
$sql2 = mysql_query("SELECT * FROM `clothes` WHERE `big_promo` = 'YES' LIMIT 0,3") or die (mysql_error());
while($row2 = mysql_fetch_assoc($sql2)) {
echo '<div class="else">
<div class="else_back">
<div class="else_pic"><center><img src="'.$row2[img].'" width="75" height="49" /></center></div>
<div class="else_price"><center>'.$row2[price].' лв</center></div>
</div>
</div>';
}
?>

Съществената идея е да са на една заявка за да мога да ги подреждам по име или цена а сега е заявка за едното и после за другото ...
 
Код:
<?php
include"inc/config.php";
$sql = mysql_query("SELECT * FROM `shoes`,`clothes` WHERE `big_promo` = 'YES'") or die (mysql_error());
while($row = mysql_fetch_assoc($sql)) {
echo '<div class="else">
<div class="else_back">
<div class="else_pic"><center><img src="'.$row[img].'" width="75" height="49" /></center></div>
<div class="else_price"><center>'.$row[price].' лв</center></div>
</div>
</div>';
}
?>
така ?
 
sorRy каза:
Код:
<?php
include"inc/config.php";
$sql = mysql_query("SELECT * FROM `shoes`,`clothes` WHERE `big_promo` = 'YES'") or die (mysql_error());
while($row = mysql_fetch_assoc($sql)) {
echo '<div class="else">
<div class="else_back">
<div class="else_pic"><center><img src="'.$row[img].'" width="75" height="49" /></center></div>
<div class="else_price"><center>'.$row[price].' лв</center></div>
</div>
</div>';
}
?>
така ?


Column 'big_promo' in where clause is ambiguous
 
idevbg каза:
Дай структурата на двете таблици.

CREATE TABLE IF NOT EXISTS `clothes` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`available` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`numbers` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`price` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`img` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sex` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`promo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`big_promo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

CREATE TABLE IF NOT EXISTS `shoes` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`img` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`available` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`sex` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`numbers` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`price` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`promo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`big_promo` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=12 ;
 
Какво не работи, дай си целия пример как пробваш.
 
Код:
(SELECT
`id`,
`title`,
`available`,
`numbers`,
`price`,
`img`,
`sex`,
`promo`,
`big_promo`
FROM clothes
WHERE `big_promo`='YES')
UNION ALL
(SELECT
`id`,
`title`,
`available`,
`numbers`,
`price`,
`img`,
`sex`,
`promo`,
`big_promo`
FROM shoes
WHERE `big_promo`='YES');
:?:
 
koko5 заявката работи, но аз искам да изкарам резултатите от двете таблици и да са подредени възходящо.
 
skinybg каза:
koko5 заявката работи, но аз искам да изкарам резултатите от двете таблици и да са подредени възходящо.
подредени възходящо по кое? Само слагаш ORDER BY-показал съм ти как може да сложиш order за sub-queries , както и за крайния резултат (в случая на 3 места;order-a може да е различен за всяко едно) :
Код:
(SELECT
`id`,
`title`,
`available`,
`numbers`,
`price`,
`img`,
`sex`,
`promo`,
`big_promo`
FROM clothes
WHERE `big_promo`='YES'
ORDER BY id ASC,price ASC)
UNION ALL
(SELECT
`id`,
`title`,
`available`,
`numbers`,
`price`,
`img`,
`sex`,
`promo`,
`big_promo`
FROM shoes
WHERE `big_promo`='YES'
ORDER BY id ASC,price ASC)
ORDER BY id ASC,price ASC;
 
koko5 каза:
skinybg каза:
koko5 заявката работи, но аз искам да изкарам резултатите от двете таблици и да са подредени възходящо.
подредени възходящо по кое? Само слагаш ORDER BY-показал съм ти как може да сложиш order за sub-queries , както и за крайния резултат (в случая на 3 места;order-a може да е различен за всяко едно) :
Код:
(SELECT
`id`,
`title`,
`available`,
`numbers`,
`price`,
`img`,
`sex`,
`promo`,
`big_promo`
FROM clothes
WHERE `big_promo`='YES'
ORDER BY id ASC,price ASC)
UNION ALL
(SELECT
`id`,
`title`,
`available`,
`numbers`,
`price`,
`img`,
`sex`,
`promo`,
`big_promo`
FROM shoes
WHERE `big_promo`='YES'
ORDER BY id ASC,price ASC)
ORDER BY id ASC,price ASC;

човече златен си :*:* :D +1 за тебе
 

Back
Горе