$sql_select = "SELECT p.ideaTitle, f.feedback, f.contact
FROM ideas p
RIGHT JOIN feedback f ON f.ideaSlug = p.ideaSlug
ORDER BY p.ideaDateTime, f.dateTime
";
これは私が新しいテーブルで作業しているものです。 ideaTitleを表示するには、それぞれのideaTitle(これが上になります)に対するすべてのフィードバックと、次に、下のSQLコードで取得するVotes(ブール値1の両方)の合計数を指定します。私はちょうど正しい方法でそれらを結合する時間の地獄を持っている。これを2つの別々のSQLコマンドに分割する方が良いでしょうか?3テーブル内の追加で参加する
SELECT "p.ideaTitle,
SUM(CASE WHEN v.vote = '1' THEN 1 ELSE 0 END) AS yesCount,
SUM(CASE WHEN v.vote = '0' THEN 1 ELSE 0 END) AS noCount
FROM ideas p
LEFT JOIN votes v ON v.ideaSlug = p.ideaSlug
GROUP BY p.ideaSummary
ORDER BY yesCount DESC
LIMIT 20";
現在のコード私はデータを表示するために使用しています。
$result = mysql_query($sql_select,$link) or die("Insertion Failed:" . mysql_error());
$x=0;
while ($row = mysql_fetch_array($result)) {
if ($row['ideaTitle'] != $previousTitle) {
?> <h3> <?php echo stripslashes($row['ideaTitle']); ?> </h3>
<h4> Yes: <?php // echo $number of yes votes; ?> </h4>
<h4> No: <?php // echo $number of no votes; ?></h4>
<?php } ?>
<blockquote>
<p><em> <?php echo stripslashes($row['feedback']); ?> </em> </p></blockquote>
<?php
$previousTitle = $row['ideaTitle']; ?>
<?php }
2番目のクエリでは、p.idatummleではなくp.Ideasummaryでグループ化しているのはなぜですか? – JNK
アイデアテーブルの主キーは何ですか?それは 'ideaSlug'ですか? –
@マーク - はいそれは@JNKおそらく私の部分のエラー - 彼らはいつも同じです –