0

我有一个名为“精选”列的数据库表,它是yn

我试图强制任何'Featured'=='y'首先打印(它通过foreach循环打印 HTML)。

现在它只是按索引(ID)的顺序加载。

我尝试添加ORDER BY Featured到我的 SQL 查询的末尾,但它什么也没做。

我怎样才能做到这一点?

我通过一个通用函数使用它。我可以做些什么来检查“精选”是否存在而不进行 2 次查询?

它破坏了不包含“精选”的表上的 SQL

我将其设置为switch仅根据需要更改 SQL.. 但如果有人知道如何混合,我宁愿在 SQL 语句中处理此问题IF EXISTS。感谢您的帮助!

4

1 回答 1

4

不要使用 Y 和 N 值,而是使用更数字化的方法,例如 1 和 0,这样您就可以使用数字排序。但是如果你真的不想改变你的列值,那么就做

ORDER BY Featured DESC

因为这会将所有 Y 放在首位。

PS:将来,您会发现最好将数字用于布尔值(1 和 0),这将使您能够在未来添加第 3 和第 4 场景的利基功能(这样您就可以将其设置为 2 和 3 等)。

于 2013-06-20T21:14:29.877 回答