jak mohu použít výchozí hodnotu ve výběrovém dotazu v postgresql?
<p>chci použít výchozí hodnotu pro sloupec, který by měl být použit, pokud nebudou vráceny žádné řádky. je to možné v postgresql? jak to mohu udělat? nebo existuje nějaký jiný způsob, jak to vyřešit?</p><p>např. něco takového:</p><pre><code>select max(post\_id) as max\_id default 0 from my\_table where org\_id = 3 </code></pre><p>a pokud neexistují žádné řádky s <code>org\_id = 3</code> v tabulce se chci vrátit <code>0</code>.</p>
<pre><code>select coalesce(max(post\_id),0) as max\_id from my\_table where org\_id = 3 </code></pre><p>nebo</p><pre><code>select case count(*) when 0 then 0 else max(post\_id) end as max\_id from my\_table where org\_id = 3; </code></pre><p>pokud chcete, aby maximum (post\_id) bylo <code>null</code>, když je 1 řádek, ale post\_id je null</p><p><em><sub> <a href="http://dbfiddle.uk/?rdbms=oracle\_11.2&amp;fiddle=63aad1acfcbdaf661b8264a3beea57df">dbfiddle</a> </sub></em></p>
<p>stavím-li se z toho, co řekl rarst, jsem si jistý, že řetězec dotazů si ponechá dotazy „paged“ i v případě, že je <code>wp\_query</code> odstraňuje jako irelevantní. můžete zkusit nahradit řádek příspěvků dotazu tímto způsobem:</p><pre><code>global $query\_string; parse\_str( $query\_string, $my\_query\_array ); $paged = ( isset( $my\_query\_array['paged'] ) &amp;&amp; !empty( $my\_query\_array['paged'] ) ) ? $my\_query\_array['paged'] : 1; query\_posts('post\_type=post&amp;posts\_per\_page=3&amp;paged='.$paged); </code></pre> To, co řekl Craig, a pokud chcete změnit výchozí je to v menu Nástroje -> Možnosti -> Projekty a řešení.


Nikdy jsem změnil výchozí a nikdy vytvořili řešení / projekt ve výchozím umístění, které byste mohli říct něco o tom, jak důležité je ... =Row() pro radek=Column() pro sloupecjako argument to bere i referenci. Bez reference to udava cislo/pismeno radku/sloupce aktualni bunky. <p>nejlepší je vytvořit šablonu stránky s následujícím kódem. také se musíte rozhodnout, zda budete používat značku nebo kategorii. níže uvedený kód předpokládá, že používáte kategorii.</p><pre><code>&lt;div class="news"&gt; &lt;?php //the query wp\_query('showposts=5&amp;category\_name=news'); //the loop if ( have\_posts() ) : while ( have\_posts() ) : the\_post(); ?&gt; &lt;h2&gt;&lt;a href="&lt;?php the\_permalink() ?&gt;" rel="bookmark" title="permanent link to &lt;?php the\_title\_attribute(); ?&gt;"&gt;&lt;?php the\_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt; &lt;div class="post\_content"&gt; &lt;?php the\_excerpt(); ?&gt; &lt;/div&gt; &lt;? endwhile; endif; //reset query wp\_reset\_query(); ?&gt; &lt;/div&gt; &lt;div class="events"&gt; &lt;?php //the query wp\_query('showposts=5&amp;category\_name=events'); //the loop if ( have\_posts() ) : while ( have\_posts() ) : the\_post(); ?&gt; &lt;h2&gt;&lt;a href="&lt;?php the\_permalink() ?&gt;" rel="bookmark" title="permanent link to &lt;?php the\_title\_attribute(); ?&gt;"&gt;&lt;?php the\_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt; &lt;div class="post\_content"&gt; &lt;?php the\_excerpt(); ?&gt; &lt;/div&gt; &lt;? endwhile; endif; //reset query wp\_reset\_query(); ?&gt; &lt;/div&gt; </code></pre> Často toto je provedeno pomocí [„Data Driven odběry“](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , ale tato funkce je k dispozici pouze v některých SQL vydáních: Enterprise a Business Intelligence, ale ne v normě.


Takže existuje celá řada kreativních řešení. Ale nemám rád žádné z nich, a všechny vyžadují spravedlivý trochu práce mimo SSRS.


Mezi řešení, které jsem viděl, patří: Vytvoření odběr a potom zakázání nebo povolení SQL úlohu, kterou odešle předplatné (identifikovatelné podle GUID).


Vytvořte si .NET obálky exe zvládnout odeslání e-mailu. Je možné spustit dotaz nejprve zjistit, kolik se vrací řádky, a pak v případě potřeby generovat zprávu a zahrnout do e-mailu. Pravděpodobně požadujete něco takového$name = mysql\_query("SELECT name FROM rezervace WHERE week = '$year-W$weekNum0'");$vysledek = "";while($row = mysql\_fetch\_array($name)) { $vysledek = $vysledek.$row["name"].",";}$vysledek = substr($vysledek,0,-1); [`IGNORE_SPACE`](http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_ignore_space)Režim umožňuje mezery mezi názvy funkcí a následující závorkách. Pokud je to povoleno, všechny názvy funkcí se stal vyhrazená slova, protože to stane se nemožné pro MySQL, zda voláte funkce nebo deklarovat (s použitím) identifikátor.


Proto, pokud je to povoleno, vaše `CREATE TABLE`selže a následující:



```
SELECT MD5 (some_column) FROM some_table

```

bude pracovat. Pokud `IGNORE_SPACE`je vypnuta, opak stane ( `CREATE TABLE`bude fungovat a především `SELECT`nebude, protože tam je mezera mezi názvu funkce a závorce). Jak se vaše prohlášení pole je primitivního typu nebudete mít žádné chyby kompilátoru nebo runtime - bude vrácena výchozí hodnota 0.


Pokud váš pole byla řada objektů, pak se pole bude držet `null`v případě jakéhokoli prvku není specificky přiřazena. <blockquote> <p>existuje lepší způsob, jak toho dosáhnout pomocí vlastních taxonomií?</p> </blockquote><p>máte pravdu na těch penězích. namísto pokusu o vytvoření vlastního příspěvku do dítěte standardního příspěvku (protože nemůžete) doporučuji použít vlastní taxonomii k objednání věcí.</p><p>v zásadě můžete vytvořit vlastní hierarchickou taxonomii a použít ji k "kategorizaci" standardních příspěvků i vlastních příspěvků. vaše standardní příspěvky byste označili jako nadřazené v taxonomii a své vlastní příspěvky jako dítě.</p><h3>druhá možnost</h3><p>další možností by bylo použití vlastního pole pro rodičovské dědictví. to by mohlo být o něco rychlejší, než aby kód a intuitivnější k použití (plus to vám dá nějaké přidané ovládání).</p><p>přidejte vlastní pole meta do vlastního typu příspěvku nazvaného "rodiče". to pak může být seznam id příspěvků, které by měl být podřízený příspěvek vnořen. pokud potřebujete seznam vyvolat, můžete provést rychlý dotaz na <code>select</code> všechny vaše vlastní příspěvky, které mají rodičovský identifikátor v seznamu svých rodičů.</p> Udělej si dvě tabulky. V jedné budeš mít kompletní info a ve druhé jen požadovaný výstup. Pokud budeš mít vše ve stejném formátu a seřazené, je to už snadné.